{
    "openapi": "3.0.1",
    "info": {
        "title": "Jellyfin API",
        "version": "10.10.7",
        "x-jellyfin-version": "10.10.7"
    },
    "servers": [
        {
            "url": "http://jellyfin.tsuba.darksailor.dev"
        }
    ],
    "paths": {
        "/System/ActivityLog/Entries": {
            "get": {
                "tags": [
                    "ActivityLog"
                ],
                "summary": "Gets activity log entries.",
                "operationId": "GetLogEntries",
                "parameters": [
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minDate",
                        "in": "query",
                        "description": "Optional. The minimum date. Format = ISO.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "hasUserId",
                        "in": "query",
                        "description": "Optional. Filter log entries if it has user id, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Activity log returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ActivityLogEntryQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ActivityLogEntryQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ActivityLogEntryQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/AniSync/apiUrlTest": {
            "get": {
                "tags": [
                    "AniSync"
                ],
                "operationId": "ApiUrlTest",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "text/plain": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "text/json": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "text/css": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "text/xml": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/AniSync/authCallback": {
            "get": {
                "tags": [
                    "AniSync"
                ],
                "operationId": "MalCallback",
                "parameters": [
                    {
                        "name": "code",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/AniSync/buildAuthorizeRequestUrl": {
            "get": {
                "tags": [
                    "AniSync"
                ],
                "operationId": "BuildAuthorizeRequestUrl",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "query",
                        "schema": {
                            "enum": [
                                "Mal",
                                "AniList",
                                "Kitsu",
                                "Annict",
                                "Shikimori",
                                "Simkl"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ApiName"
                                }
                            ]
                        }
                    },
                    {
                        "name": "clientId",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "clientSecret",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "url",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "text/plain": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "text/json": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "text/css": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "text/xml": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/AniSync/parameters": {
            "get": {
                "tags": [
                    "AniSync"
                ],
                "operationId": "GetFrontendParameters",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/ParameterInclude"
                                }
                            }
                        },
                        "text/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/ParameterInclude"
                                }
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/ParameterInclude"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/AniSync/passwordGrant": {
            "get": {
                "tags": [
                    "AniSync"
                ],
                "operationId": "PasswordGrantAuthentication",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "query",
                        "schema": {
                            "enum": [
                                "Mal",
                                "AniList",
                                "Kitsu",
                                "Annict",
                                "Shikimori",
                                "Simkl"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ApiName"
                                }
                            ]
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "username",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "password",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/AniSync/sync": {
            "post": {
                "tags": [
                    "AniSync"
                ],
                "operationId": "Sync",
                "parameters": [
                    {
                        "name": "provider",
                        "in": "query",
                        "schema": {
                            "enum": [
                                "Mal",
                                "AniList",
                                "Kitsu",
                                "Annict",
                                "Shikimori",
                                "Simkl"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ApiName"
                                }
                            ]
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "enum": [
                                "Completed",
                                "Watching",
                                "Both"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/Status"
                                }
                            ]
                        }
                    },
                    {
                        "name": "syncAction",
                        "in": "query",
                        "schema": {
                            "enum": [
                                "UpdateProvider",
                                "UpdateJellyfin"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SyncAction"
                                }
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/AniSync/testAnimeListSaveLocation": {
            "get": {
                "tags": [
                    "AniSync"
                ],
                "operationId": "TestAnimeSaveLocation",
                "parameters": [
                    {
                        "name": "saveLocation",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/AniSync/user": {
            "get": {
                "tags": [
                    "AniSync"
                ],
                "operationId": "GetUser",
                "parameters": [
                    {
                        "name": "apiName",
                        "in": "query",
                        "schema": {
                            "enum": [
                                "Mal",
                                "AniList",
                                "Kitsu",
                                "Annict",
                                "Shikimori",
                                "Simkl"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ApiName"
                                }
                            ]
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Auth/Keys": {
            "get": {
                "tags": [
                    "ApiKey"
                ],
                "summary": "Get all keys.",
                "operationId": "GetKeys",
                "responses": {
                    "200": {
                        "description": "Api keys retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthenticationInfoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthenticationInfoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthenticationInfoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "ApiKey"
                ],
                "summary": "Create a new api key.",
                "operationId": "CreateKey",
                "parameters": [
                    {
                        "name": "app",
                        "in": "query",
                        "description": "Name of the app using the authentication key.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Api key created."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Auth/Keys/{key}": {
            "delete": {
                "tags": [
                    "ApiKey"
                ],
                "summary": "Remove an api key.",
                "operationId": "RevokeKey",
                "parameters": [
                    {
                        "name": "key",
                        "in": "path",
                        "description": "The access token to delete.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Api key deleted."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Artists": {
            "get": {
                "tags": [
                    "Artists"
                ],
                "summary": "Gets all artists from a given item, folder, or the entire library.",
                "operationId": "GetArtists",
                "parameters": [
                    {
                        "name": "minCommunityRating",
                        "in": "query",
                        "description": "Optional filter by minimum community rating.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "Optional. Search term.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "filters",
                        "in": "query",
                        "description": "Optional. Specify additional filters to apply.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFilter"
                            }
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional filter by items that are marked as favorite, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "mediaTypes",
                        "in": "query",
                        "description": "Optional filter by MediaType. Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    },
                    {
                        "name": "genres",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "genreIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "officialRatings",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "years",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int32"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional, include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional, the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "person",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified person.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "personIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified person ids.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "personTypes",
                        "in": "query",
                        "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "studios",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "studioIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "nameStartsWithOrGreater",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameStartsWith",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameLessThan",
                        "in": "query",
                        "description": "Optional filter by items whose name is equally or lesser than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Sort Order - Ascending,Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional, include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Artists returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Artists/{name}": {
            "get": {
                "tags": [
                    "Artists"
                ],
                "summary": "Gets an artist by name.",
                "operationId": "GetArtistByName",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Studio name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Artist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Artists/AlbumArtists": {
            "get": {
                "tags": [
                    "Artists"
                ],
                "summary": "Gets all album artists from a given item, folder, or the entire library.",
                "operationId": "GetAlbumArtists",
                "parameters": [
                    {
                        "name": "minCommunityRating",
                        "in": "query",
                        "description": "Optional filter by minimum community rating.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "Optional. Search term.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "filters",
                        "in": "query",
                        "description": "Optional. Specify additional filters to apply.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFilter"
                            }
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional filter by items that are marked as favorite, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "mediaTypes",
                        "in": "query",
                        "description": "Optional filter by MediaType. Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    },
                    {
                        "name": "genres",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "genreIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "officialRatings",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "years",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int32"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional, include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional, the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "person",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified person.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "personIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified person ids.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "personTypes",
                        "in": "query",
                        "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "studios",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "studioIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "nameStartsWithOrGreater",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameStartsWith",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameLessThan",
                        "in": "query",
                        "description": "Optional filter by items whose name is equally or lesser than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Sort Order - Ascending,Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional, include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Album artists returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Audio/{itemId}/stream": {
            "get": {
                "tags": [
                    "Audio"
                ],
                "summary": "Gets an audio stream.",
                "operationId": "GetAudioStream",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "query",
                        "description": "The audio container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio stream returned.",
                        "content": {
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Audio"
                ],
                "summary": "Gets an audio stream.",
                "operationId": "HeadAudioStream",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "query",
                        "description": "The audio container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio stream returned.",
                        "content": {
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Audio/{itemId}/stream.{container}": {
            "get": {
                "tags": [
                    "Audio"
                ],
                "summary": "Gets an audio stream.",
                "operationId": "GetAudioStreamByContainer",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "path",
                        "description": "The audio container.",
                        "required": true,
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamporphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio stream returned.",
                        "content": {
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Audio"
                ],
                "summary": "Gets an audio stream.",
                "operationId": "HeadAudioStreamByContainer",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "path",
                        "description": "The audio container.",
                        "required": true,
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamporphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio stream returned.",
                        "content": {
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Branding/Configuration": {
            "get": {
                "tags": [
                    "Branding"
                ],
                "summary": "Gets branding configuration.",
                "operationId": "GetBrandingOptions",
                "responses": {
                    "200": {
                        "description": "Branding configuration returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BrandingOptions"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BrandingOptions"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BrandingOptions"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Branding/Css": {
            "get": {
                "tags": [
                    "Branding"
                ],
                "summary": "Gets branding css.",
                "operationId": "GetBrandingCss",
                "responses": {
                    "200": {
                        "description": "Branding css returned.",
                        "content": {
                            "text/css": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "No branding css configured."
                    }
                }
            }
        },
        "/Branding/Css.css": {
            "get": {
                "tags": [
                    "Branding"
                ],
                "summary": "Gets branding css.",
                "operationId": "GetBrandingCss_2",
                "responses": {
                    "200": {
                        "description": "Branding css returned.",
                        "content": {
                            "text/css": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "204": {
                        "description": "No branding css configured."
                    }
                }
            }
        },
        "/Channels": {
            "get": {
                "tags": [
                    "Channels"
                ],
                "summary": "Gets available channels.",
                "operationId": "GetChannels",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User Id to filter by. Use System.Guid.Empty to not filter by user.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "supportsLatestItems",
                        "in": "query",
                        "description": "Optional. Filter by channels that support getting latest items.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "supportsMediaDeletion",
                        "in": "query",
                        "description": "Optional. Filter by channels that support media deletion.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional. Filter by channels that are favorite.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Channels returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Channels/{channelId}/Features": {
            "get": {
                "tags": [
                    "Channels"
                ],
                "summary": "Get channel features.",
                "operationId": "GetChannelFeatures",
                "parameters": [
                    {
                        "name": "channelId",
                        "in": "path",
                        "description": "Channel id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Channel features returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ChannelFeatures"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ChannelFeatures"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ChannelFeatures"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Channels/{channelId}/Items": {
            "get": {
                "tags": [
                    "Channels"
                ],
                "summary": "Get channel items.",
                "operationId": "GetChannelItems",
                "parameters": [
                    {
                        "name": "channelId",
                        "in": "path",
                        "description": "Channel Id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "folderId",
                        "in": "query",
                        "description": "Optional. Folder Id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. User Id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Optional. Sort Order - Ascending,Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    },
                    {
                        "name": "filters",
                        "in": "query",
                        "description": "Optional. Specify additional filters to apply.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFilter"
                            }
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Channel items returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Channels/Features": {
            "get": {
                "tags": [
                    "Channels"
                ],
                "summary": "Get all channel features.",
                "operationId": "GetAllChannelFeatures",
                "responses": {
                    "200": {
                        "description": "All channel features returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ChannelFeatures"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ChannelFeatures"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ChannelFeatures"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Channels/Items/Latest": {
            "get": {
                "tags": [
                    "Channels"
                ],
                "summary": "Gets latest channel items.",
                "operationId": "GetLatestChannelItems",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. User Id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "filters",
                        "in": "query",
                        "description": "Optional. Specify additional filters to apply.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFilter"
                            }
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "channelIds",
                        "in": "query",
                        "description": "Optional. Specify one or more channel id's, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Latest channel items returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/ClientLog/Document": {
            "post": {
                "tags": [
                    "ClientLog"
                ],
                "summary": "Upload a document.",
                "operationId": "LogFile",
                "requestBody": {
                    "content": {
                        "text/plain": {
                            "schema": {
                                "type": "string",
                                "format": "binary"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Document saved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ClientLogDocumentResponseDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ClientLogDocumentResponseDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ClientLogDocumentResponseDto"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Event logging disabled.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "413": {
                        "description": "Upload size too large.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Collections": {
            "post": {
                "tags": [
                    "Collection"
                ],
                "summary": "Creates a new collection.",
                "operationId": "CreateCollection",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The name of the collection.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "Item Ids to add to the collection.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Optional. Create the collection within a specific folder.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "isLocked",
                        "in": "query",
                        "description": "Whether or not to lock the new collection.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Collection created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CollectionCreationResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/CollectionCreationResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/CollectionCreationResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "CollectionManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Collections/{collectionId}/Items": {
            "post": {
                "tags": [
                    "Collection"
                ],
                "summary": "Adds items to a collection.",
                "operationId": "AddToCollection",
                "parameters": [
                    {
                        "name": "collectionId",
                        "in": "path",
                        "description": "The collection id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "Item ids, comma delimited.",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Items added to collection."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "CollectionManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Collection"
                ],
                "summary": "Removes items from a collection.",
                "operationId": "RemoveFromCollection",
                "parameters": [
                    {
                        "name": "collectionId",
                        "in": "path",
                        "description": "The collection id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "Item ids, comma delimited.",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Items removed from collection."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "CollectionManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/System/Configuration": {
            "get": {
                "tags": [
                    "Configuration"
                ],
                "summary": "Gets application configuration.",
                "operationId": "GetConfiguration",
                "responses": {
                    "200": {
                        "description": "Application configuration returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ServerConfiguration"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ServerConfiguration"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ServerConfiguration"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Configuration"
                ],
                "summary": "Updates application configuration.",
                "operationId": "UpdateConfiguration",
                "requestBody": {
                    "description": "Configuration.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ServerConfiguration"
                                    }
                                ],
                                "description": "Represents the server configuration."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ServerConfiguration"
                                    }
                                ],
                                "description": "Represents the server configuration."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ServerConfiguration"
                                    }
                                ],
                                "description": "Represents the server configuration."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Configuration updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/System/Configuration/{key}": {
            "get": {
                "tags": [
                    "Configuration"
                ],
                "summary": "Gets a named configuration.",
                "operationId": "GetNamedConfiguration",
                "parameters": [
                    {
                        "name": "key",
                        "in": "path",
                        "description": "Configuration key.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Configuration returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Configuration"
                ],
                "summary": "Updates named configuration.",
                "operationId": "UpdateNamedConfiguration",
                "parameters": [
                    {
                        "name": "key",
                        "in": "path",
                        "description": "Configuration key.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Configuration.",
                    "content": {
                        "application/json": {
                            "schema": {}
                        },
                        "text/json": {
                            "schema": {}
                        },
                        "application/*+json": {
                            "schema": {}
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Named configuration updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/System/Configuration/MetadataOptions/Default": {
            "get": {
                "tags": [
                    "Configuration"
                ],
                "summary": "Gets a default MetadataOptions object.",
                "operationId": "GetDefaultMetadataOptions",
                "responses": {
                    "200": {
                        "description": "Metadata options returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MetadataOptions"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/MetadataOptions"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/MetadataOptions"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/web/ConfigurationPage": {
            "get": {
                "tags": [
                    "Dashboard"
                ],
                "summary": "Gets a dashboard configuration page.",
                "operationId": "GetDashboardConfigurationPage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The name of the page.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "ConfigurationPage returned.",
                        "content": {
                            "text/html": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "application/x-javascript": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Plugin configuration page not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/web/ConfigurationPages": {
            "get": {
                "tags": [
                    "Dashboard"
                ],
                "summary": "Gets the configuration pages.",
                "operationId": "GetConfigurationPages",
                "parameters": [
                    {
                        "name": "enableInMainMenu",
                        "in": "query",
                        "description": "Whether to enable in the main menu.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "ConfigurationPages returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ConfigurationPageInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ConfigurationPageInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ConfigurationPageInfo"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Server still loading.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Devices": {
            "get": {
                "tags": [
                    "Devices"
                ],
                "summary": "Get Devices.",
                "operationId": "GetDevices",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Gets or sets the user identifier.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Devices retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeviceInfoDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeviceInfoDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeviceInfoDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Devices"
                ],
                "summary": "Deletes a device.",
                "operationId": "DeleteDevice",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Device Id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Device deleted."
                    },
                    "404": {
                        "description": "Device not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Devices/Info": {
            "get": {
                "tags": [
                    "Devices"
                ],
                "summary": "Get info for a device.",
                "operationId": "GetDeviceInfo",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Device Id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Device info retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeviceInfoDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeviceInfoDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeviceInfoDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Device not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Devices/Options": {
            "get": {
                "tags": [
                    "Devices"
                ],
                "summary": "Get options for a device.",
                "operationId": "GetDeviceOptions",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Device Id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Device options retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeviceOptionsDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeviceOptionsDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeviceOptionsDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Device not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Devices"
                ],
                "summary": "Update device options.",
                "operationId": "UpdateDeviceOptions",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Device Id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Device Options.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/DeviceOptionsDto"
                                    }
                                ],
                                "description": "A dto representing custom options for a device."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/DeviceOptionsDto"
                                    }
                                ],
                                "description": "A dto representing custom options for a device."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/DeviceOptionsDto"
                                    }
                                ],
                                "description": "A dto representing custom options for a device."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Device options updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/DisplayPreferences/{displayPreferencesId}": {
            "get": {
                "tags": [
                    "DisplayPreferences"
                ],
                "summary": "Get Display Preferences.",
                "operationId": "GetDisplayPreferences",
                "parameters": [
                    {
                        "name": "displayPreferencesId",
                        "in": "path",
                        "description": "Display preferences id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "client",
                        "in": "query",
                        "description": "Client.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Display preferences retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DisplayPreferencesDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DisplayPreferencesDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DisplayPreferencesDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "DisplayPreferences"
                ],
                "summary": "Update Display Preferences.",
                "operationId": "UpdateDisplayPreferences",
                "parameters": [
                    {
                        "name": "displayPreferencesId",
                        "in": "path",
                        "description": "Display preferences id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User Id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "client",
                        "in": "query",
                        "description": "Client.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "New Display Preferences object.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/DisplayPreferencesDto"
                                    }
                                ],
                                "description": "Defines the display preferences for any item that supports them (usually Folders)."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/DisplayPreferencesDto"
                                    }
                                ],
                                "description": "Defines the display preferences for any item that supports them (usually Folders)."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/DisplayPreferencesDto"
                                    }
                                ],
                                "description": "Defines the display preferences for any item that supports them (usually Folders)."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Display preferences updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container}": {
            "get": {
                "tags": [
                    "DynamicHls"
                ],
                "summary": "Gets a video stream using HTTP live streaming.",
                "operationId": "GetHlsAudioSegment",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentId",
                        "in": "path",
                        "description": "The segment id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "container",
                        "in": "path",
                        "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.",
                        "required": true,
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "runtimeTicks",
                        "in": "query",
                        "description": "The position of the requested segment in ticks.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "actualSegmentLengthTicks",
                        "in": "query",
                        "description": "The length of the requested segment in ticks.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxStreamingBitrate",
                        "in": "query",
                        "description": "Optional. The maximum streaming bitrate.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Video stream returned.",
                        "content": {
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Audio/{itemId}/main.m3u8": {
            "get": {
                "tags": [
                    "DynamicHls"
                ],
                "summary": "Gets an audio stream using HTTP live streaming.",
                "operationId": "GetVariantHlsAudioPlaylist",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxStreamingBitrate",
                        "in": "query",
                        "description": "Optional. The maximum streaming bitrate.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio stream returned.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Audio/{itemId}/master.m3u8": {
            "get": {
                "tags": [
                    "DynamicHls"
                ],
                "summary": "Gets an audio hls playlist stream.",
                "operationId": "GetMasterHlsAudioPlaylist",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxStreamingBitrate",
                        "in": "query",
                        "description": "Optional. The maximum streaming bitrate.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAdaptiveBitrateStreaming",
                        "in": "query",
                        "description": "Enable adaptive bitrate streaming.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio stream returned.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "head": {
                "tags": [
                    "DynamicHls"
                ],
                "summary": "Gets an audio hls playlist stream.",
                "operationId": "HeadMasterHlsAudioPlaylist",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxStreamingBitrate",
                        "in": "query",
                        "description": "Optional. The maximum streaming bitrate.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAdaptiveBitrateStreaming",
                        "in": "query",
                        "description": "Enable adaptive bitrate streaming.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio stream returned.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/hls1/{playlistId}/{segmentId}.{container}": {
            "get": {
                "tags": [
                    "DynamicHls"
                ],
                "summary": "Gets a video stream using HTTP live streaming.",
                "operationId": "GetHlsVideoSegment",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentId",
                        "in": "path",
                        "description": "The segment id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "container",
                        "in": "path",
                        "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.",
                        "required": true,
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "runtimeTicks",
                        "in": "query",
                        "description": "The position of the requested segment in ticks.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "actualSegmentLengthTicks",
                        "in": "query",
                        "description": "The length of the requested segment in ticks.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The desired segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. The maximum horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. The maximum vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "alwaysBurnInSubtitleWhenTranscoding",
                        "in": "query",
                        "description": "Whether to always burn in subtitles when transcoding.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Video stream returned.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/live.m3u8": {
            "get": {
                "tags": [
                    "DynamicHls"
                ],
                "summary": "Gets a hls live stream.",
                "operationId": "GetLiveHlsStream",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "query",
                        "description": "The audio container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. The max width.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. The max height.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableSubtitlesInManifest",
                        "in": "query",
                        "description": "Optional. Whether to enable subtitles in the manifest.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "alwaysBurnInSubtitleWhenTranscoding",
                        "in": "query",
                        "description": "Whether to always burn in subtitles when transcoding.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Hls live stream retrieved.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/main.m3u8": {
            "get": {
                "tags": [
                    "DynamicHls"
                ],
                "summary": "Gets a video stream using HTTP live streaming.",
                "operationId": "GetVariantHlsVideoPlaylist",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. The maximum horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. The maximum vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "alwaysBurnInSubtitleWhenTranscoding",
                        "in": "query",
                        "description": "Whether to always burn in subtitles when transcoding.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Video stream returned.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/master.m3u8": {
            "get": {
                "tags": [
                    "DynamicHls"
                ],
                "summary": "Gets a video hls playlist stream.",
                "operationId": "GetMasterHlsVideoPlaylist",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. The maximum horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. The maximum vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAdaptiveBitrateStreaming",
                        "in": "query",
                        "description": "Enable adaptive bitrate streaming.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableTrickplay",
                        "in": "query",
                        "description": "Enable trickplay image playlists being added to master playlist.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "alwaysBurnInSubtitleWhenTranscoding",
                        "in": "query",
                        "description": "Whether to always burn in subtitles when transcoding.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Video stream returned.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "head": {
                "tags": [
                    "DynamicHls"
                ],
                "summary": "Gets a video hls playlist stream.",
                "operationId": "HeadMasterHlsVideoPlaylist",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. The maximum horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. The maximum vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAdaptiveBitrateStreaming",
                        "in": "query",
                        "description": "Enable adaptive bitrate streaming.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableTrickplay",
                        "in": "query",
                        "description": "Enable trickplay image playlists being added to master playlist.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "alwaysBurnInSubtitleWhenTranscoding",
                        "in": "query",
                        "description": "Whether to always burn in subtitles when transcoding.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Video stream returned.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Environment/DefaultDirectoryBrowser": {
            "get": {
                "tags": [
                    "Environment"
                ],
                "summary": "Get Default directory browser.",
                "operationId": "GetDefaultDirectoryBrowser",
                "responses": {
                    "200": {
                        "description": "Default directory browser returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DefaultDirectoryBrowserInfoDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DefaultDirectoryBrowserInfoDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/DefaultDirectoryBrowserInfoDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Environment/DirectoryContents": {
            "get": {
                "tags": [
                    "Environment"
                ],
                "summary": "Gets the contents of a given directory in the file system.",
                "operationId": "GetDirectoryContents",
                "parameters": [
                    {
                        "name": "path",
                        "in": "query",
                        "description": "The path.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "includeFiles",
                        "in": "query",
                        "description": "An optional filter to include or exclude files from the results. true/false.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "includeDirectories",
                        "in": "query",
                        "description": "An optional filter to include or exclude folders from the results. true/false.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Directory contents returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FileSystemEntryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FileSystemEntryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FileSystemEntryInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Environment/Drives": {
            "get": {
                "tags": [
                    "Environment"
                ],
                "summary": "Gets available drives from the server's file system.",
                "operationId": "GetDrives",
                "responses": {
                    "200": {
                        "description": "List of entries returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FileSystemEntryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FileSystemEntryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FileSystemEntryInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Environment/NetworkShares": {
            "get": {
                "tags": [
                    "Environment"
                ],
                "summary": "Gets network paths.",
                "operationId": "GetNetworkShares",
                "responses": {
                    "200": {
                        "description": "Empty array returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FileSystemEntryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FileSystemEntryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FileSystemEntryInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "deprecated": true,
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Environment/ParentPath": {
            "get": {
                "tags": [
                    "Environment"
                ],
                "summary": "Gets the parent path of a given path.",
                "operationId": "GetParentPath",
                "parameters": [
                    {
                        "name": "path",
                        "in": "query",
                        "description": "The path.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Environment/ValidatePath": {
            "post": {
                "tags": [
                    "Environment"
                ],
                "summary": "Validates path.",
                "operationId": "ValidatePath",
                "requestBody": {
                    "description": "Validate request object.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ValidatePathDto"
                                    }
                                ],
                                "description": "Validate path object."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ValidatePathDto"
                                    }
                                ],
                                "description": "Validate path object."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ValidatePathDto"
                                    }
                                ],
                                "description": "Validate path object."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Path validated."
                    },
                    "404": {
                        "description": "Path not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/Filters": {
            "get": {
                "tags": [
                    "Filter"
                ],
                "summary": "Gets legacy query filters.",
                "operationId": "GetQueryFiltersLegacy",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Optional. Parent id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "mediaTypes",
                        "in": "query",
                        "description": "Optional. Filter by MediaType. Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Legacy filters retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/QueryFiltersLegacy"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/QueryFiltersLegacy"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/QueryFiltersLegacy"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/Filters2": {
            "get": {
                "tags": [
                    "Filter"
                ],
                "summary": "Gets query filters.",
                "operationId": "GetQueryFilters",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "isAiring",
                        "in": "query",
                        "description": "Optional. Is item airing.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isMovie",
                        "in": "query",
                        "description": "Optional. Is item movie.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSports",
                        "in": "query",
                        "description": "Optional. Is item sports.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isKids",
                        "in": "query",
                        "description": "Optional. Is item kids.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isNews",
                        "in": "query",
                        "description": "Optional. Is item news.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSeries",
                        "in": "query",
                        "description": "Optional. Is item series.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "Optional. Search recursive.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Filters retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/QueryFilters"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/QueryFilters"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/QueryFilters"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Genres": {
            "get": {
                "tags": [
                    "Genres"
                ],
                "summary": "Gets all genres from a given item, folder, or the entire library.",
                "operationId": "GetGenres",
                "parameters": [
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "The search term.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional filter by items that are marked as favorite, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional, the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "nameStartsWithOrGreater",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameStartsWith",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameLessThan",
                        "in": "query",
                        "description": "Optional filter by items whose name is equally or lesser than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Sort Order - Ascending,Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional, include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Optional. Include total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Genres returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Genres/{genreName}": {
            "get": {
                "tags": [
                    "Genres"
                ],
                "summary": "Gets a genre, by name.",
                "operationId": "GetGenre",
                "parameters": [
                    {
                        "name": "genreName",
                        "in": "path",
                        "description": "The genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Genres returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Audio/{itemId}/hls/{segmentId}/stream.aac": {
            "get": {
                "tags": [
                    "HlsSegment"
                ],
                "summary": "Gets the specified audio segment for an audio item.",
                "operationId": "GetHlsAudioSegmentLegacyAac",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentId",
                        "in": "path",
                        "description": "The segment id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Hls audio segment returned.",
                        "content": {
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Audio/{itemId}/hls/{segmentId}/stream.mp3": {
            "get": {
                "tags": [
                    "HlsSegment"
                ],
                "summary": "Gets the specified audio segment for an audio item.",
                "operationId": "GetHlsAudioSegmentLegacyMp3",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentId",
                        "in": "path",
                        "description": "The segment id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Hls audio segment returned.",
                        "content": {
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Videos/{itemId}/hls/{playlistId}/{segmentId}.{segmentContainer}": {
            "get": {
                "tags": [
                    "HlsSegment"
                ],
                "summary": "Gets a hls video segment.",
                "operationId": "GetHlsVideoSegmentLegacy",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentId",
                        "in": "path",
                        "description": "The segment id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "path",
                        "description": "The segment container.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Hls video segment returned.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Hls segment not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Videos/{itemId}/hls/{playlistId}/stream.m3u8": {
            "get": {
                "tags": [
                    "HlsSegment"
                ],
                "summary": "Gets a hls video playlist.",
                "operationId": "GetHlsPlaylistLegacy",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The video id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Hls video playlist returned.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/ActiveEncodings": {
            "delete": {
                "tags": [
                    "HlsSegment"
                ],
                "summary": "Stops an active encoding.",
                "operationId": "StopEncodingProcess",
                "parameters": [
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Encoding stopped successfully."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Artists/{name}/Images/{imageType}/{imageIndex}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get artist image by name.",
                "operationId": "GetArtistImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Artist name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get artist image by name.",
                "operationId": "HeadArtistImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Artist name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Branding/Splashscreen": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Generates or gets the splashscreen.",
                "operationId": "GetSplashscreen",
                "parameters": [
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Quality setting, from 0-100.",
                        "schema": {
                            "maximum": 100,
                            "minimum": 0,
                            "type": "integer",
                            "format": "int32",
                            "default": 90
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Splashscreen returned successfully.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Image"
                ],
                "summary": "Uploads a custom splashscreen.\r\nThe body is expected to the image contents base64 encoded.",
                "operationId": "UploadCustomSplashscreen",
                "requestBody": {
                    "content": {
                        "image/*": {
                            "schema": {
                                "type": "string",
                                "format": "binary"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Successfully uploaded new splashscreen."
                    },
                    "400": {
                        "description": "Error reading MimeType from uploaded image.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have permission to upload splashscreen..",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Image"
                ],
                "summary": "Delete a custom splashscreen.",
                "operationId": "DeleteCustomSplashscreen",
                "responses": {
                    "204": {
                        "description": "Successfully deleted the custom splashscreen."
                    },
                    "403": {
                        "description": "User does not have permission to delete splashscreen.."
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Genres/{name}/Images/{imageType}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get genre image by name.",
                "operationId": "GetGenreImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get genre image by name.",
                "operationId": "HeadGenreImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Genres/{name}/Images/{imageType}/{imageIndex}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get genre image by name.",
                "operationId": "GetGenreImageByIndex",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get genre image by name.",
                "operationId": "HeadGenreImageByIndex",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Items/{itemId}/Images": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get item image infos.",
                "operationId": "GetItemImageInfos",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item images returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ImageInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ImageInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ImageInfo"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/Images/{imageType}": {
            "delete": {
                "tags": [
                    "Image"
                ],
                "summary": "Delete an item's image.",
                "operationId": "DeleteItemImage",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "The image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Image deleted."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Image"
                ],
                "summary": "Set item image.",
                "operationId": "SetItemImage",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "image/*": {
                            "schema": {
                                "type": "string",
                                "format": "binary"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Image saved."
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Gets the item's image.",
                "operationId": "GetItemImage",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Gets the item's image.",
                "operationId": "HeadItemImage",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Items/{itemId}/Images/{imageType}/{imageIndex}": {
            "delete": {
                "tags": [
                    "Image"
                ],
                "summary": "Delete an item's image.",
                "operationId": "DeleteItemImageByIndex",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "The image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Image deleted."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Image"
                ],
                "summary": "Set item image.",
                "operationId": "SetItemImageByIndex",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "(Unused) Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "image/*": {
                            "schema": {
                                "type": "string",
                                "format": "binary"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Image saved."
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Gets the item's image.",
                "operationId": "GetItemImageByIndex",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Gets the item's image.",
                "operationId": "HeadItemImageByIndex",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Gets the item's image.",
                "operationId": "GetItemImage2",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "path",
                        "description": "The maximum image width to return.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "path",
                        "description": "The maximum image height to return.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "path",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "path",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ],
                            "description": "Enum ImageOutputFormat."
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "path",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "required": true,
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "path",
                        "description": "Optional. Unplayed count overlay to render.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Gets the item's image.",
                "operationId": "HeadItemImage2",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "path",
                        "description": "The maximum image width to return.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "path",
                        "description": "The maximum image height to return.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "path",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "path",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ],
                            "description": "Enum ImageOutputFormat."
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "path",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "required": true,
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "path",
                        "description": "Optional. Unplayed count overlay to render.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Items/{itemId}/Images/{imageType}/{imageIndex}/Index": {
            "post": {
                "tags": [
                    "Image"
                ],
                "summary": "Updates the index for an item image.",
                "operationId": "UpdateItemImageIndex",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Old image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "newIndex",
                        "in": "query",
                        "description": "New image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Image index updated."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/MusicGenres/{name}/Images/{imageType}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get music genre image by name.",
                "operationId": "GetMusicGenreImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Music genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get music genre image by name.",
                "operationId": "HeadMusicGenreImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Music genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/MusicGenres/{name}/Images/{imageType}/{imageIndex}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get music genre image by name.",
                "operationId": "GetMusicGenreImageByIndex",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Music genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get music genre image by name.",
                "operationId": "HeadMusicGenreImageByIndex",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Music genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Persons/{name}/Images/{imageType}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get person image by name.",
                "operationId": "GetPersonImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Person name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get person image by name.",
                "operationId": "HeadPersonImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Person name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Persons/{name}/Images/{imageType}/{imageIndex}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get person image by name.",
                "operationId": "GetPersonImageByIndex",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Person name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get person image by name.",
                "operationId": "HeadPersonImageByIndex",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Person name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Studios/{name}/Images/{imageType}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get studio image by name.",
                "operationId": "GetStudioImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Studio name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get studio image by name.",
                "operationId": "HeadStudioImage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Studio name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Studios/{name}/Images/{imageType}/{imageIndex}": {
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get studio image by name.",
                "operationId": "GetStudioImageByIndex",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Studio name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get studio image by name.",
                "operationId": "HeadStudioImageByIndex",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Studio name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageType",
                        "in": "path",
                        "description": "Image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "path",
                        "description": "Image index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/UserImage": {
            "post": {
                "tags": [
                    "Image"
                ],
                "summary": "Sets the user image.",
                "operationId": "PostUserImage",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User Id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "image/*": {
                            "schema": {
                                "type": "string",
                                "format": "binary"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Image updated."
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have permission to delete the image.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Image"
                ],
                "summary": "Delete the user's image.",
                "operationId": "DeleteUserImage",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User Id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Image deleted."
                    },
                    "403": {
                        "description": "User does not have permission to delete the image.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "get": {
                "tags": [
                    "Image"
                ],
                "summary": "Get user profile image.",
                "operationId": "GetUserImage",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "User id not provided.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Image"
                ],
                "summary": "Get user profile image.",
                "operationId": "HeadUserImage",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Determines the output format of the image - original,gif,jpg,png.",
                        "schema": {
                            "enum": [
                                "Bmp",
                                "Gif",
                                "Jpg",
                                "Png",
                                "Webp",
                                "Svg"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageFormat"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "The maximum image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "The maximum image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "percentPlayed",
                        "in": "query",
                        "description": "Optional. Percent to render for the percent played overlay.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "unplayedCount",
                        "in": "query",
                        "description": "Optional. Unplayed count overlay to render.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "The fixed image width to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "The fixed image height to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "quality",
                        "in": "query",
                        "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillWidth",
                        "in": "query",
                        "description": "Width of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fillHeight",
                        "in": "query",
                        "description": "Height of box to fill.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "blur",
                        "in": "query",
                        "description": "Optional. Blur image.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "backgroundColor",
                        "in": "query",
                        "description": "Optional. Apply a background color for transparent images.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foregroundLayer",
                        "in": "query",
                        "description": "Optional. Apply a foreground layer on top of the image.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imageIndex",
                        "in": "query",
                        "description": "Image index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Image stream returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "User id not provided.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/InfuseSync/Checkpoint": {
            "post": {
                "tags": [
                    "InfuseSync"
                ],
                "operationId": "CreateCheckpoint",
                "parameters": [
                    {
                        "name": "deviceId",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CheckpointId"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/InfuseSync/Checkpoint/{checkpointID}/RemovedItems": {
            "get": {
                "tags": [
                    "InfuseSync"
                ],
                "operationId": "GetRemovedItemsQuery",
                "parameters": [
                    {
                        "name": "checkpointID",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RemovedItemQueryResult"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/InfuseSync/Checkpoint/{checkpointID}/StartSync": {
            "post": {
                "tags": [
                    "InfuseSync"
                ],
                "operationId": "StartCheckpointSync",
                "parameters": [
                    {
                        "name": "checkpointID",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SyncStats"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/InfuseSync/Checkpoint/{checkpointID}/UpdatedItems": {
            "get": {
                "tags": [
                    "InfuseSync"
                ],
                "operationId": "GetUpdatedItemsQuery",
                "parameters": [
                    {
                        "name": "checkpointID",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/InfuseSync/Checkpoint/{checkpointID}/UserData": {
            "get": {
                "tags": [
                    "InfuseSync"
                ],
                "operationId": "GetUserDataQuery",
                "parameters": [
                    {
                        "name": "checkpointID",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDtoQueryResult"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/InfuseSync/UserFolders/{userID}": {
            "get": {
                "tags": [
                    "InfuseSync"
                ],
                "operationId": "GetUserFolders",
                "parameters": [
                    {
                        "name": "userID",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/VirtualFolderInfo"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Albums/{itemId}/InstantMix": {
            "get": {
                "tags": [
                    "InstantMix"
                ],
                "summary": "Creates an instant playlist based on a given album.",
                "operationId": "GetInstantMixFromAlbum",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Instant playlist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Artists/{itemId}/InstantMix": {
            "get": {
                "tags": [
                    "InstantMix"
                ],
                "summary": "Creates an instant playlist based on a given artist.",
                "operationId": "GetInstantMixFromArtists",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Instant playlist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Artists/InstantMix": {
            "get": {
                "tags": [
                    "InstantMix"
                ],
                "summary": "Creates an instant playlist based on a given artist.",
                "operationId": "GetInstantMixFromArtists2",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Instant playlist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "deprecated": true,
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/InstantMix": {
            "get": {
                "tags": [
                    "InstantMix"
                ],
                "summary": "Creates an instant playlist based on a given item.",
                "operationId": "GetInstantMixFromItem",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Instant playlist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/MusicGenres/{name}/InstantMix": {
            "get": {
                "tags": [
                    "InstantMix"
                ],
                "summary": "Creates an instant playlist based on a given genre.",
                "operationId": "GetInstantMixFromMusicGenreByName",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "The genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Instant playlist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/MusicGenres/InstantMix": {
            "get": {
                "tags": [
                    "InstantMix"
                ],
                "summary": "Creates an instant playlist based on a given genre.",
                "operationId": "GetInstantMixFromMusicGenreById",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Instant playlist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Playlists/{itemId}/InstantMix": {
            "get": {
                "tags": [
                    "InstantMix"
                ],
                "summary": "Creates an instant playlist based on a given playlist.",
                "operationId": "GetInstantMixFromPlaylist",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Instant playlist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Songs/{itemId}/InstantMix": {
            "get": {
                "tags": [
                    "InstantMix"
                ],
                "summary": "Creates an instant playlist based on a given song.",
                "operationId": "GetInstantMixFromSong",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Instant playlist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/ExternalIdInfos": {
            "get": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get the item's external id info.",
                "operationId": "GetExternalIdInfos",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "External id info retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ExternalIdInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ExternalIdInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ExternalIdInfo"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/Apply/{itemId}": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Applies search criteria to an item and refreshes metadata.",
                "operationId": "ApplySearchCriteria",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "replaceAllImages",
                        "in": "query",
                        "description": "Optional. Whether or not to replace all images. Default: True.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "requestBody": {
                    "description": "The remote search result.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Item metadata refreshed."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/Book": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get book remote search.",
                "operationId": "GetBookRemoteSearchResults",
                "requestBody": {
                    "description": "Remote search query.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BookInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BookInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BookInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Book remote search executed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/BoxSet": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get box set remote search.",
                "operationId": "GetBoxSetRemoteSearchResults",
                "requestBody": {
                    "description": "Remote search query.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BoxSetInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BoxSetInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BoxSetInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Box set remote search executed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/Movie": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get movie remote search.",
                "operationId": "GetMovieRemoteSearchResults",
                "requestBody": {
                    "description": "Remote search query.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MovieInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MovieInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MovieInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Movie remote search executed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/MusicAlbum": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get music album remote search.",
                "operationId": "GetMusicAlbumRemoteSearchResults",
                "requestBody": {
                    "description": "Remote search query.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/AlbumInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/AlbumInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/AlbumInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Music album remote search executed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/MusicArtist": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get music artist remote search.",
                "operationId": "GetMusicArtistRemoteSearchResults",
                "requestBody": {
                    "description": "Remote search query.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ArtistInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ArtistInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ArtistInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Music artist remote search executed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/MusicVideo": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get music video remote search.",
                "operationId": "GetMusicVideoRemoteSearchResults",
                "requestBody": {
                    "description": "Remote search query.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MusicVideoInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MusicVideoInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MusicVideoInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Music video remote search executed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/Person": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get person remote search.",
                "operationId": "GetPersonRemoteSearchResults",
                "requestBody": {
                    "description": "Remote search query.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PersonLookupInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PersonLookupInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PersonLookupInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Person remote search executed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/Series": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get series remote search.",
                "operationId": "GetSeriesRemoteSearchResults",
                "requestBody": {
                    "description": "Remote search query.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeriesInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeriesInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeriesInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Series remote search executed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/RemoteSearch/Trailer": {
            "post": {
                "tags": [
                    "ItemLookup"
                ],
                "summary": "Get trailer remote search.",
                "operationId": "GetTrailerRemoteSearchResults",
                "requestBody": {
                    "description": "Remote search query.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TrailerInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TrailerInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TrailerInfoRemoteSearchQuery"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Trailer remote search executed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSearchResult"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/Refresh": {
            "post": {
                "tags": [
                    "ItemRefresh"
                ],
                "summary": "Refreshes metadata for an item.",
                "operationId": "RefreshItem",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "metadataRefreshMode",
                        "in": "query",
                        "description": "(Optional) Specifies the metadata refresh mode.",
                        "schema": {
                            "enum": [
                                "None",
                                "ValidationOnly",
                                "Default",
                                "FullRefresh"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/MetadataRefreshMode"
                                }
                            ],
                            "default": "None"
                        }
                    },
                    {
                        "name": "imageRefreshMode",
                        "in": "query",
                        "description": "(Optional) Specifies the image refresh mode.",
                        "schema": {
                            "enum": [
                                "None",
                                "ValidationOnly",
                                "Default",
                                "FullRefresh"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/MetadataRefreshMode"
                                }
                            ],
                            "default": "None"
                        }
                    },
                    {
                        "name": "replaceAllMetadata",
                        "in": "query",
                        "description": "(Optional) Determines if metadata should be replaced. Only applicable if mode is FullRefresh.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "replaceAllImages",
                        "in": "query",
                        "description": "(Optional) Determines if images should be replaced. Only applicable if mode is FullRefresh.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "regenerateTrickplay",
                        "in": "query",
                        "description": "(Optional) Determines if trickplay images should be replaced. Only applicable if mode is FullRefresh.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Item metadata refresh queued."
                    },
                    "404": {
                        "description": "Item to refresh not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Items": {
            "get": {
                "tags": [
                    "Items"
                ],
                "summary": "Gets items based on a query.",
                "operationId": "GetItems",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id supplied as query parameter; this is required when not using an API key.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "maxOfficialRating",
                        "in": "query",
                        "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "hasThemeSong",
                        "in": "query",
                        "description": "Optional filter by items with theme songs.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasThemeVideo",
                        "in": "query",
                        "description": "Optional filter by items with theme videos.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasSubtitles",
                        "in": "query",
                        "description": "Optional filter by items with subtitles.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasSpecialFeature",
                        "in": "query",
                        "description": "Optional filter by items with special features.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasTrailer",
                        "in": "query",
                        "description": "Optional filter by items with trailers.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "adjacentTo",
                        "in": "query",
                        "description": "Optional. Return items that are siblings of a supplied item.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "indexNumber",
                        "in": "query",
                        "description": "Optional filter by index number.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "parentIndexNumber",
                        "in": "query",
                        "description": "Optional filter by parent index number.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "hasParentalRating",
                        "in": "query",
                        "description": "Optional filter by items that have or do not have a parental rating.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isHd",
                        "in": "query",
                        "description": "Optional filter by items that are HD or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "is4K",
                        "in": "query",
                        "description": "Optional filter by items that are 4K or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "locationTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/LocationType"
                            }
                        }
                    },
                    {
                        "name": "excludeLocationTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/LocationType"
                            }
                        }
                    },
                    {
                        "name": "isMissing",
                        "in": "query",
                        "description": "Optional filter by items that are missing episodes or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isUnaired",
                        "in": "query",
                        "description": "Optional filter by items that are unaired episodes or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "minCommunityRating",
                        "in": "query",
                        "description": "Optional filter by minimum community rating.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "minCriticRating",
                        "in": "query",
                        "description": "Optional filter by minimum critic rating.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "minPremiereDate",
                        "in": "query",
                        "description": "Optional. The minimum premiere date. Format = ISO.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "minDateLastSaved",
                        "in": "query",
                        "description": "Optional. The minimum last saved date. Format = ISO.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "minDateLastSavedForUser",
                        "in": "query",
                        "description": "Optional. The minimum last saved date for the current user. Format = ISO.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "maxPremiereDate",
                        "in": "query",
                        "description": "Optional. The maximum premiere date. Format = ISO.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "hasOverview",
                        "in": "query",
                        "description": "Optional filter by items that have an overview or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasImdbId",
                        "in": "query",
                        "description": "Optional filter by items that have an IMDb id or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasTmdbId",
                        "in": "query",
                        "description": "Optional filter by items that have a TMDb id or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasTvdbId",
                        "in": "query",
                        "description": "Optional filter by items that have a TVDb id or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isMovie",
                        "in": "query",
                        "description": "Optional filter for live tv movies.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSeries",
                        "in": "query",
                        "description": "Optional filter for live tv series.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isNews",
                        "in": "query",
                        "description": "Optional filter for live tv news.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isKids",
                        "in": "query",
                        "description": "Optional filter for live tv kids.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSports",
                        "in": "query",
                        "description": "Optional filter for live tv sports.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "excludeItemIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "When searching within folders, this determines whether or not the search will be recursive. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "Optional. Filter based on a search term.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Sort Order - Ascending, Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "filters",
                        "in": "query",
                        "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFilter"
                            }
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional filter by items that are marked as favorite, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "mediaTypes",
                        "in": "query",
                        "description": "Optional filter by MediaType. Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    },
                    {
                        "name": "imageTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "isPlayed",
                        "in": "query",
                        "description": "Optional filter by items that are played, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "genres",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "officialRatings",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "years",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int32"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional, include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional, the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "person",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified person.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "personIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified person id.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "personTypes",
                        "in": "query",
                        "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "studios",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "artists",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "excludeArtistIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "artistIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified artist id.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "albumArtistIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified album artist id.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "contributingArtistIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified contributing artist id.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "albums",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "albumIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "videoTypes",
                        "in": "query",
                        "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/VideoType"
                            }
                        }
                    },
                    {
                        "name": "minOfficialRating",
                        "in": "query",
                        "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "isLocked",
                        "in": "query",
                        "description": "Optional filter by items that are locked.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isPlaceHolder",
                        "in": "query",
                        "description": "Optional filter by items that are placeholders.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasOfficialRating",
                        "in": "query",
                        "description": "Optional filter by items that have official ratings.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "collapseBoxSetItems",
                        "in": "query",
                        "description": "Whether or not to hide items behind their boxsets.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "minWidth",
                        "in": "query",
                        "description": "Optional. Filter by the minimum width of the item.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minHeight",
                        "in": "query",
                        "description": "Optional. Filter by the minimum height of the item.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. Filter by the maximum width of the item.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. Filter by the maximum height of the item.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "is3D",
                        "in": "query",
                        "description": "Optional filter by items that are 3D, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "seriesStatus",
                        "in": "query",
                        "description": "Optional filter by Series Status. Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SeriesStatus"
                            }
                        }
                    },
                    {
                        "name": "nameStartsWithOrGreater",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameStartsWith",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameLessThan",
                        "in": "query",
                        "description": "Optional filter by items whose name is equally or lesser than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "studioIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "genreIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Optional. Enable the total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional, include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Library"
                ],
                "summary": "Deletes items from the library and filesystem.",
                "operationId": "DeleteItems",
                "parameters": [
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "The item ids.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Items deleted."
                    },
                    "401": {
                        "description": "Unauthorized access.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/UserItems/{itemId}/UserData": {
            "get": {
                "tags": [
                    "Items"
                ],
                "summary": "Get Item User Data.",
                "operationId": "GetItemUserData",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "return item user data.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item is not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Items"
                ],
                "summary": "Update Item User Data.",
                "operationId": "UpdateItemUserData",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "description": "New user data object.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateUserItemDataDto"
                                    }
                                ],
                                "description": "This is used by the api to get information about a item user data."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateUserItemDataDto"
                                    }
                                ],
                                "description": "This is used by the api to get information about a item user data."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateUserItemDataDto"
                                    }
                                ],
                                "description": "This is used by the api to get information about a item user data."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "return updated user item data.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item is not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/UserItems/Resume": {
            "get": {
                "tags": [
                    "Items"
                ],
                "summary": "Gets items based on a query.",
                "operationId": "GetResumeItems",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "The start index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The item limit.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "The search term.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "mediaTypes",
                        "in": "query",
                        "description": "Optional. Filter by MediaType. Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Optional. Enable the total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "excludeActiveSessions",
                        "in": "query",
                        "description": "Optional. Whether to exclude the currently active sessions.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Items returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}": {
            "post": {
                "tags": [
                    "ItemUpdate"
                ],
                "summary": "Updates an item.",
                "operationId": "UpdateItem",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The new item properties.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                ],
                                "description": "This is strictly used as a data transfer object from the api layer.\r\nThis holds information about a BaseItem in a format that is convenient for the client."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                ],
                                "description": "This is strictly used as a data transfer object from the api layer.\r\nThis holds information about a BaseItem in a format that is convenient for the client."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                ],
                                "description": "This is strictly used as a data transfer object from the api layer.\r\nThis holds information about a BaseItem in a format that is convenient for the client."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Item updated."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Library"
                ],
                "summary": "Deletes an item from the library and filesystem.",
                "operationId": "DeleteItem",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Item deleted."
                    },
                    "401": {
                        "description": "Unauthorized access.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "get": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Gets an item from a user's library.",
                "operationId": "GetItem",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/ContentType": {
            "post": {
                "tags": [
                    "ItemUpdate"
                ],
                "summary": "Updates an item's content type.",
                "operationId": "UpdateItemContentType",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "contentType",
                        "in": "query",
                        "description": "The content type of the item.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Item content type updated."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/MetadataEditor": {
            "get": {
                "tags": [
                    "ItemUpdate"
                ],
                "summary": "Gets metadata editor info for an item.",
                "operationId": "GetMetadataEditorInfo",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item metadata editor returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MetadataEditorInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/MetadataEditorInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/MetadataEditorInfo"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Albums/{itemId}/Similar": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets similar items.",
                "operationId": "GetSimilarAlbums",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "excludeArtistIds",
                        "in": "query",
                        "description": "Exclude artist ids.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Similar items returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Artists/{itemId}/Similar": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets similar items.",
                "operationId": "GetSimilarArtists",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "excludeArtistIds",
                        "in": "query",
                        "description": "Exclude artist ids.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Similar items returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/Ancestors": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets all parents of an item.",
                "operationId": "GetAncestors",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item parents returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/CriticReviews": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets critic review for an item.",
                "operationId": "GetCriticReviews",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Critic reviews returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "deprecated": true,
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/Download": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Downloads item media.",
                "operationId": "GetDownload",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Media downloaded.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "Download",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/File": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Get the original file of an item.",
                "operationId": "GetFile",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File stream returned.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/Similar": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets similar items.",
                "operationId": "GetSimilarItems",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "excludeArtistIds",
                        "in": "query",
                        "description": "Exclude artist ids.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Similar items returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/ThemeMedia": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Get theme songs and videos for an item.",
                "operationId": "GetThemeMedia",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "inheritFromParent",
                        "in": "query",
                        "description": "Optional. Determines whether or not parent items should be searched for theme media.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Optional. Sort Order - Ascending, Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Theme songs and videos returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AllThemeMediaResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/AllThemeMediaResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/AllThemeMediaResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/ThemeSongs": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Get theme songs for an item.",
                "operationId": "GetThemeSongs",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "inheritFromParent",
                        "in": "query",
                        "description": "Optional. Determines whether or not parent items should be searched for theme media.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Optional. Sort Order - Ascending, Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Theme songs returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThemeMediaResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThemeMediaResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThemeMediaResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/ThemeVideos": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Get theme videos for an item.",
                "operationId": "GetThemeVideos",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "inheritFromParent",
                        "in": "query",
                        "description": "Optional. Determines whether or not parent items should be searched for theme media.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Optional. Sort Order - Ascending, Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Theme videos returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThemeMediaResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThemeMediaResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ThemeMediaResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/Counts": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Get item counts.",
                "operationId": "GetItemCounts",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Get counts from a specific user's library.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional. Get counts of favorite items.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item counts returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemCounts"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemCounts"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ItemCounts"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Libraries/AvailableOptions": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets the library options info.",
                "operationId": "GetLibraryOptionsInfo",
                "parameters": [
                    {
                        "name": "libraryContentType",
                        "in": "query",
                        "description": "Library content type.",
                        "schema": {
                            "enum": [
                                "unknown",
                                "movies",
                                "tvshows",
                                "music",
                                "musicvideos",
                                "trailers",
                                "homevideos",
                                "boxsets",
                                "books",
                                "photos",
                                "livetv",
                                "playlists",
                                "folders"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/CollectionType"
                                }
                            ]
                        }
                    },
                    {
                        "name": "isNewLibrary",
                        "in": "query",
                        "description": "Whether this is a new library.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Library options info returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/LibraryOptionsResultDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LibraryOptionsResultDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LibraryOptionsResultDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrDefault",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/Media/Updated": {
            "post": {
                "tags": [
                    "Library"
                ],
                "summary": "Reports that new movies have been added by an external source.",
                "operationId": "PostUpdatedMedia",
                "requestBody": {
                    "description": "The update paths.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MediaUpdateInfoDto"
                                    }
                                ],
                                "description": "Media Update Info Dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MediaUpdateInfoDto"
                                    }
                                ],
                                "description": "Media Update Info Dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MediaUpdateInfoDto"
                                    }
                                ],
                                "description": "Media Update Info Dto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Report success."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/MediaFolders": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets all user media folders.",
                "operationId": "GetMediaFolders",
                "parameters": [
                    {
                        "name": "isHidden",
                        "in": "query",
                        "description": "Optional. Filter by folders that are marked hidden, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Media folders returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Library/Movies/Added": {
            "post": {
                "tags": [
                    "Library"
                ],
                "summary": "Reports that new movies have been added by an external source.",
                "operationId": "PostAddedMovies",
                "parameters": [
                    {
                        "name": "tmdbId",
                        "in": "query",
                        "description": "The tmdbId.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imdbId",
                        "in": "query",
                        "description": "The imdbId.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Report success."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/Movies/Updated": {
            "post": {
                "tags": [
                    "Library"
                ],
                "summary": "Reports that new movies have been added by an external source.",
                "operationId": "PostUpdatedMovies",
                "parameters": [
                    {
                        "name": "tmdbId",
                        "in": "query",
                        "description": "The tmdbId.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "imdbId",
                        "in": "query",
                        "description": "The imdbId.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Report success."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/PhysicalPaths": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets a list of physical paths from virtual folders.",
                "operationId": "GetPhysicalPaths",
                "responses": {
                    "200": {
                        "description": "Physical paths returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Library/Refresh": {
            "post": {
                "tags": [
                    "Library"
                ],
                "summary": "Starts a library scan.",
                "operationId": "RefreshLibrary",
                "responses": {
                    "204": {
                        "description": "Library scan started."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Library/Series/Added": {
            "post": {
                "tags": [
                    "Library"
                ],
                "summary": "Reports that new episodes of a series have been added by an external source.",
                "operationId": "PostAddedSeries",
                "parameters": [
                    {
                        "name": "tvdbId",
                        "in": "query",
                        "description": "The tvdbId.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Report success."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/Series/Updated": {
            "post": {
                "tags": [
                    "Library"
                ],
                "summary": "Reports that new episodes of a series have been added by an external source.",
                "operationId": "PostUpdatedSeries",
                "parameters": [
                    {
                        "name": "tvdbId",
                        "in": "query",
                        "description": "The tvdbId.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Report success."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Movies/{itemId}/Similar": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets similar items.",
                "operationId": "GetSimilarMovies",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "excludeArtistIds",
                        "in": "query",
                        "description": "Exclude artist ids.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Similar items returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Shows/{itemId}/Similar": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets similar items.",
                "operationId": "GetSimilarShows",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "excludeArtistIds",
                        "in": "query",
                        "description": "Exclude artist ids.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Similar items returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Trailers/{itemId}/Similar": {
            "get": {
                "tags": [
                    "Library"
                ],
                "summary": "Gets similar items.",
                "operationId": "GetSimilarTrailers",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "excludeArtistIds",
                        "in": "query",
                        "description": "Exclude artist ids.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Similar items returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/VirtualFolders": {
            "get": {
                "tags": [
                    "LibraryStructure"
                ],
                "summary": "Gets all virtual folders.",
                "operationId": "GetVirtualFolders",
                "responses": {
                    "200": {
                        "description": "Virtual folders retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/VirtualFolderInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/VirtualFolderInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/VirtualFolderInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "LibraryStructure"
                ],
                "summary": "Adds a virtual folder.",
                "operationId": "AddVirtualFolder",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The name of the virtual folder.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "collectionType",
                        "in": "query",
                        "description": "The type of the collection.",
                        "schema": {
                            "enum": [
                                "movies",
                                "tvshows",
                                "music",
                                "musicvideos",
                                "homevideos",
                                "boxsets",
                                "books",
                                "mixed"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/CollectionTypeOptions"
                                }
                            ]
                        }
                    },
                    {
                        "name": "paths",
                        "in": "query",
                        "description": "The paths of the virtual folder.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "refreshLibrary",
                        "in": "query",
                        "description": "Whether to refresh the library.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "requestBody": {
                    "description": "The library options.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/AddVirtualFolderDto"
                                    }
                                ],
                                "description": "Add virtual folder dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/AddVirtualFolderDto"
                                    }
                                ],
                                "description": "Add virtual folder dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/AddVirtualFolderDto"
                                    }
                                ],
                                "description": "Add virtual folder dto."
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Folder added."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "LibraryStructure"
                ],
                "summary": "Removes a virtual folder.",
                "operationId": "RemoveVirtualFolder",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The name of the folder.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "refreshLibrary",
                        "in": "query",
                        "description": "Whether to refresh the library.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Folder removed."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/VirtualFolders/LibraryOptions": {
            "post": {
                "tags": [
                    "LibraryStructure"
                ],
                "summary": "Update library options.",
                "operationId": "UpdateLibraryOptions",
                "requestBody": {
                    "description": "The library name and options.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateLibraryOptionsDto"
                                    }
                                ],
                                "description": "Update library options dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateLibraryOptionsDto"
                                    }
                                ],
                                "description": "Update library options dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateLibraryOptionsDto"
                                    }
                                ],
                                "description": "Update library options dto."
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Library updated."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/VirtualFolders/Name": {
            "post": {
                "tags": [
                    "LibraryStructure"
                ],
                "summary": "Renames a virtual folder.",
                "operationId": "RenameVirtualFolder",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The name of the virtual folder.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "newName",
                        "in": "query",
                        "description": "The new name.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "refreshLibrary",
                        "in": "query",
                        "description": "Whether to refresh the library.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Folder renamed."
                    },
                    "404": {
                        "description": "Library doesn't exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Library already exists.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/VirtualFolders/Paths": {
            "post": {
                "tags": [
                    "LibraryStructure"
                ],
                "summary": "Add a media path to a library.",
                "operationId": "AddMediaPath",
                "parameters": [
                    {
                        "name": "refreshLibrary",
                        "in": "query",
                        "description": "Whether to refresh the library.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "requestBody": {
                    "description": "The media path dto.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MediaPathDto"
                                    }
                                ],
                                "description": "Media Path dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MediaPathDto"
                                    }
                                ],
                                "description": "Media Path dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MediaPathDto"
                                    }
                                ],
                                "description": "Media Path dto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Media path added."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "LibraryStructure"
                ],
                "summary": "Remove a media path.",
                "operationId": "RemoveMediaPath",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The name of the library.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "path",
                        "in": "query",
                        "description": "The path to remove.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "refreshLibrary",
                        "in": "query",
                        "description": "Whether to refresh the library.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Media path removed."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Library/VirtualFolders/Paths/Update": {
            "post": {
                "tags": [
                    "LibraryStructure"
                ],
                "summary": "Updates a media path.",
                "operationId": "UpdateMediaPath",
                "requestBody": {
                    "description": "The name of the library and path infos.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateMediaPathRequestDto"
                                    }
                                ],
                                "description": "Update library options dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateMediaPathRequestDto"
                                    }
                                ],
                                "description": "Update library options dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateMediaPathRequestDto"
                                    }
                                ],
                                "description": "Update library options dto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Media path updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/ChannelMappingOptions": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Get channel mapping options.",
                "operationId": "GetChannelMappingOptions",
                "parameters": [
                    {
                        "name": "providerId",
                        "in": "query",
                        "description": "Provider id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Channel mapping options returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ChannelMappingOptionsDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ChannelMappingOptionsDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ChannelMappingOptionsDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/ChannelMappings": {
            "post": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Set channel mappings.",
                "operationId": "SetChannelMapping",
                "requestBody": {
                    "description": "The set channel mapping dto.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetChannelMappingDto"
                                    }
                                ],
                                "description": "Set channel mapping dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetChannelMappingDto"
                                    }
                                ],
                                "description": "Set channel mapping dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetChannelMappingDto"
                                    }
                                ],
                                "description": "Set channel mapping dto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Created channel mapping returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TunerChannelMapping"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TunerChannelMapping"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TunerChannelMapping"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Channels": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets available live tv channels.",
                "operationId": "GetLiveTvChannels",
                "parameters": [
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Optional. Filter by channel type.",
                        "schema": {
                            "enum": [
                                "TV",
                                "Radio"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ChannelType"
                                }
                            ]
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "isMovie",
                        "in": "query",
                        "description": "Optional. Filter for movies.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSeries",
                        "in": "query",
                        "description": "Optional. Filter for series.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isNews",
                        "in": "query",
                        "description": "Optional. Filter for news.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isKids",
                        "in": "query",
                        "description": "Optional. Filter for kids.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSports",
                        "in": "query",
                        "description": "Optional. Filter for sports.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional. Filter by channels that are favorites, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isLiked",
                        "in": "query",
                        "description": "Optional. Filter by channels that are liked, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isDisliked",
                        "in": "query",
                        "description": "Optional. Filter by channels that are disliked, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "\"Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Key to sort by.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Optional. Sort order.",
                        "schema": {
                            "enum": [
                                "Ascending",
                                "Descending"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SortOrder"
                                }
                            ]
                        }
                    },
                    {
                        "name": "enableFavoriteSorting",
                        "in": "query",
                        "description": "Optional. Incorporate favorite and like status into channel sorting.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "addCurrentProgram",
                        "in": "query",
                        "description": "Optional. Adds current program info to each channel.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Available live tv channels returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Channels/{channelId}": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets a live tv channel.",
                "operationId": "GetChannel",
                "parameters": [
                    {
                        "name": "channelId",
                        "in": "path",
                        "description": "Channel id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Live tv channel returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/GuideInfo": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Get guid info.",
                "operationId": "GetGuideInfo",
                "responses": {
                    "200": {
                        "description": "Guid info returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GuideInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/GuideInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/GuideInfo"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Info": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets available live tv services.",
                "operationId": "GetLiveTvInfo",
                "responses": {
                    "200": {
                        "description": "Available live tv services returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/LiveTvInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LiveTvInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LiveTvInfo"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/ListingProviders": {
            "post": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Adds a listings provider.",
                "operationId": "AddListingProvider",
                "parameters": [
                    {
                        "name": "pw",
                        "in": "query",
                        "description": "Password.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "validateListings",
                        "in": "query",
                        "description": "Validate listings.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "validateLogin",
                        "in": "query",
                        "description": "Validate login.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "requestBody": {
                    "description": "New listings info.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ListingsProviderInfo"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ListingsProviderInfo"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ListingsProviderInfo"
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Created listings provider returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListingsProviderInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListingsProviderInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListingsProviderInfo"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Delete listing provider.",
                "operationId": "DeleteListingProvider",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Listing provider id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Listing provider deleted."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/ListingProviders/Default": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets default listings provider info.",
                "operationId": "GetDefaultListingProvider",
                "responses": {
                    "200": {
                        "description": "Default listings provider info returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListingsProviderInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListingsProviderInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListingsProviderInfo"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/ListingProviders/Lineups": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets available lineups.",
                "operationId": "GetLineups",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Provider id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Provider type.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "location",
                        "in": "query",
                        "description": "Location.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "country",
                        "in": "query",
                        "description": "Country.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Available lineups returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/ListingProviders/SchedulesDirect/Countries": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets available countries.",
                "operationId": "GetSchedulesDirectCountries",
                "responses": {
                    "200": {
                        "description": "Available countries returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/LiveRecordings/{recordingId}/stream": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets a live tv recording stream.",
                "operationId": "GetLiveRecordingFile",
                "parameters": [
                    {
                        "name": "recordingId",
                        "in": "path",
                        "description": "Recording id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Recording stream returned.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Recording not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/LiveTv/LiveStreamFiles/{streamId}/stream.{container}": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets a live tv channel stream.",
                "operationId": "GetLiveStreamFile",
                "parameters": [
                    {
                        "name": "streamId",
                        "in": "path",
                        "description": "Stream id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "container",
                        "in": "path",
                        "description": "Container type.",
                        "required": true,
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Stream returned.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Stream not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/LiveTv/Programs": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets available live tv epgs.",
                "operationId": "GetLiveTvPrograms",
                "parameters": [
                    {
                        "name": "channelIds",
                        "in": "query",
                        "description": "The channels to return guide information for.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "minStartDate",
                        "in": "query",
                        "description": "Optional. The minimum premiere start date.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "hasAired",
                        "in": "query",
                        "description": "Optional. Filter by programs that have completed airing, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isAiring",
                        "in": "query",
                        "description": "Optional. Filter by programs that are currently airing, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "maxStartDate",
                        "in": "query",
                        "description": "Optional. The maximum premiere start date.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "minEndDate",
                        "in": "query",
                        "description": "Optional. The minimum premiere end date.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "maxEndDate",
                        "in": "query",
                        "description": "Optional. The maximum premiere end date.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "isMovie",
                        "in": "query",
                        "description": "Optional. Filter for movies.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSeries",
                        "in": "query",
                        "description": "Optional. Filter for series.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isNews",
                        "in": "query",
                        "description": "Optional. Filter for news.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isKids",
                        "in": "query",
                        "description": "Optional. Filter for kids.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSports",
                        "in": "query",
                        "description": "Optional. Filter for sports.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited. Options: Name, StartDate.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Sort Order - Ascending,Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    },
                    {
                        "name": "genres",
                        "in": "query",
                        "description": "The genres to return guide information for.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "genreIds",
                        "in": "query",
                        "description": "The genre ids to return guide information for.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "seriesTimerId",
                        "in": "query",
                        "description": "Optional. Filter by series timer id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "librarySeriesId",
                        "in": "query",
                        "description": "Optional. Filter by library series id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Retrieve total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Live tv epgs returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets available live tv epgs.",
                "operationId": "GetPrograms",
                "requestBody": {
                    "description": "Request body.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/GetProgramsDto"
                                    }
                                ],
                                "description": "Get programs dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/GetProgramsDto"
                                    }
                                ],
                                "description": "Get programs dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/GetProgramsDto"
                                    }
                                ],
                                "description": "Get programs dto."
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Live tv epgs returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Programs/{programId}": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets a live tv program.",
                "operationId": "GetProgram",
                "parameters": [
                    {
                        "name": "programId",
                        "in": "path",
                        "description": "Program id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Program returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Programs/Recommended": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets recommended live tv epgs.",
                "operationId": "GetRecommendedPrograms",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. filter by user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "isAiring",
                        "in": "query",
                        "description": "Optional. Filter by programs that are currently airing, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasAired",
                        "in": "query",
                        "description": "Optional. Filter by programs that have completed airing, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSeries",
                        "in": "query",
                        "description": "Optional. Filter for series.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isMovie",
                        "in": "query",
                        "description": "Optional. Filter for movies.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isNews",
                        "in": "query",
                        "description": "Optional. Filter for news.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isKids",
                        "in": "query",
                        "description": "Optional. Filter for kids.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSports",
                        "in": "query",
                        "description": "Optional. Filter for sports.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "genreIds",
                        "in": "query",
                        "description": "The genres to return guide information for.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Retrieve total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Recommended epgs returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Recordings": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets live tv recordings.",
                "operationId": "GetRecordings",
                "parameters": [
                    {
                        "name": "channelId",
                        "in": "query",
                        "description": "Optional. Filter by channel id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "description": "Optional. Filter by recording status.",
                        "schema": {
                            "enum": [
                                "New",
                                "InProgress",
                                "Completed",
                                "Cancelled",
                                "ConflictedOk",
                                "ConflictedNotOk",
                                "Error"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/RecordingStatus"
                                }
                            ]
                        }
                    },
                    {
                        "name": "isInProgress",
                        "in": "query",
                        "description": "Optional. Filter by recordings that are in progress, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "seriesTimerId",
                        "in": "query",
                        "description": "Optional. Filter by recordings belonging to a series timer.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isMovie",
                        "in": "query",
                        "description": "Optional. Filter for movies.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSeries",
                        "in": "query",
                        "description": "Optional. Filter for series.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isKids",
                        "in": "query",
                        "description": "Optional. Filter for kids.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSports",
                        "in": "query",
                        "description": "Optional. Filter for sports.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isNews",
                        "in": "query",
                        "description": "Optional. Filter for news.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isLibraryItem",
                        "in": "query",
                        "description": "Optional. Filter for is library item.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Optional. Return total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Live tv recordings returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Recordings/{recordingId}": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets a live tv recording.",
                "operationId": "GetRecording",
                "parameters": [
                    {
                        "name": "recordingId",
                        "in": "path",
                        "description": "Recording id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Recording returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Deletes a live tv recording.",
                "operationId": "DeleteRecording",
                "parameters": [
                    {
                        "name": "recordingId",
                        "in": "path",
                        "description": "Recording id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Recording deleted."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Recordings/Folders": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets recording folders.",
                "operationId": "GetRecordingFolders",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Recording folders returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Recordings/Groups": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets live tv recording groups.",
                "operationId": "GetRecordingGroups",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Recording groups returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "deprecated": true,
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Recordings/Groups/{groupId}": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Get recording group.",
                "operationId": "GetRecordingGroup",
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Group id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "deprecated": true,
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Recordings/Series": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets live tv recording series.",
                "operationId": "GetRecordingsSeries",
                "parameters": [
                    {
                        "name": "channelId",
                        "in": "query",
                        "description": "Optional. Filter by channel id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "groupId",
                        "in": "query",
                        "description": "Optional. Filter by recording group.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "description": "Optional. Filter by recording status.",
                        "schema": {
                            "enum": [
                                "New",
                                "InProgress",
                                "Completed",
                                "Cancelled",
                                "ConflictedOk",
                                "ConflictedNotOk",
                                "Error"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/RecordingStatus"
                                }
                            ]
                        }
                    },
                    {
                        "name": "isInProgress",
                        "in": "query",
                        "description": "Optional. Filter by recordings that are in progress, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "seriesTimerId",
                        "in": "query",
                        "description": "Optional. Filter by recordings belonging to a series timer.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Optional. Return total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Live tv recordings returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "deprecated": true,
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/SeriesTimers": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets live tv series timers.",
                "operationId": "GetSeriesTimers",
                "parameters": [
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Sort by SortName or Priority.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Optional. Sort in Ascending or Descending order.",
                        "schema": {
                            "enum": [
                                "Ascending",
                                "Descending"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SortOrder"
                                }
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timers returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SeriesTimerInfoDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SeriesTimerInfoDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SeriesTimerInfoDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Creates a live tv series timer.",
                "operationId": "CreateSeriesTimer",
                "requestBody": {
                    "description": "New series timer info.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                    }
                                ],
                                "description": "Class SeriesTimerInfoDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                    }
                                ],
                                "description": "Class SeriesTimerInfoDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                    }
                                ],
                                "description": "Class SeriesTimerInfoDto."
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Series timer info created."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/SeriesTimers/{timerId}": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets a live tv series timer.",
                "operationId": "GetSeriesTimer",
                "parameters": [
                    {
                        "name": "timerId",
                        "in": "path",
                        "description": "Timer id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Series timer returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Series timer not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Cancels a live tv series timer.",
                "operationId": "CancelSeriesTimer",
                "parameters": [
                    {
                        "name": "timerId",
                        "in": "path",
                        "description": "Timer id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Timer cancelled."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Updates a live tv series timer.",
                "operationId": "UpdateSeriesTimer",
                "parameters": [
                    {
                        "name": "timerId",
                        "in": "path",
                        "description": "Timer id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "New series timer info.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                    }
                                ],
                                "description": "Class SeriesTimerInfoDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                    }
                                ],
                                "description": "Class SeriesTimerInfoDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                    }
                                ],
                                "description": "Class SeriesTimerInfoDto."
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Series timer updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Timers": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets the live tv timers.",
                "operationId": "GetTimers",
                "parameters": [
                    {
                        "name": "channelId",
                        "in": "query",
                        "description": "Optional. Filter by channel id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "seriesTimerId",
                        "in": "query",
                        "description": "Optional. Filter by timers belonging to a series timer.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "isActive",
                        "in": "query",
                        "description": "Optional. Filter by timers that are active.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isScheduled",
                        "in": "query",
                        "description": "Optional. Filter by timers that are scheduled.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimerInfoDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimerInfoDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimerInfoDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Creates a live tv timer.",
                "operationId": "CreateTimer",
                "requestBody": {
                    "description": "New timer info.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TimerInfoDto"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TimerInfoDto"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TimerInfoDto"
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Timer created."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Timers/{timerId}": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets a timer.",
                "operationId": "GetTimer",
                "parameters": [
                    {
                        "name": "timerId",
                        "in": "path",
                        "description": "Timer id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Timer returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimerInfoDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimerInfoDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimerInfoDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Cancels a live tv timer.",
                "operationId": "CancelTimer",
                "parameters": [
                    {
                        "name": "timerId",
                        "in": "path",
                        "description": "Timer id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Timer deleted."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Updates a live tv timer.",
                "operationId": "UpdateTimer",
                "parameters": [
                    {
                        "name": "timerId",
                        "in": "path",
                        "description": "Timer id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "New timer info.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TimerInfoDto"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TimerInfoDto"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TimerInfoDto"
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Timer updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Timers/Defaults": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Gets the default values for a new timer.",
                "operationId": "GetDefaultTimer",
                "parameters": [
                    {
                        "name": "programId",
                        "in": "query",
                        "description": "Optional. To attach default values based on a program.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Default values returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SeriesTimerInfoDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/TunerHosts": {
            "post": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Adds a tuner host.",
                "operationId": "AddTunerHost",
                "requestBody": {
                    "description": "New tuner host.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TunerHostInfo"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TunerHostInfo"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/TunerHostInfo"
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Created tuner host returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TunerHostInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TunerHostInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TunerHostInfo"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Deletes a tuner host.",
                "operationId": "DeleteTunerHost",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Tuner host id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Tuner host deleted."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/TunerHosts/Types": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Get tuner host types.",
                "operationId": "GetTunerHostTypes",
                "responses": {
                    "200": {
                        "description": "Tuner host types returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Tuners/{tunerId}/Reset": {
            "post": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Resets a tv tuner.",
                "operationId": "ResetTuner",
                "parameters": [
                    {
                        "name": "tunerId",
                        "in": "path",
                        "description": "Tuner id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Tuner reset."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Tuners/Discover": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Discover tuners.",
                "operationId": "DiscoverTuners",
                "parameters": [
                    {
                        "name": "newDevicesOnly",
                        "in": "query",
                        "description": "Only discover new tuners.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tuners returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TunerHostInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TunerHostInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TunerHostInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveTv/Tuners/Discvover": {
            "get": {
                "tags": [
                    "LiveTv"
                ],
                "summary": "Discover tuners.",
                "operationId": "DiscvoverTuners",
                "parameters": [
                    {
                        "name": "newDevicesOnly",
                        "in": "query",
                        "description": "Only discover new tuners.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tuners returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TunerHostInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TunerHostInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TunerHostInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LiveTvManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Localization/Countries": {
            "get": {
                "tags": [
                    "Localization"
                ],
                "summary": "Gets known countries.",
                "operationId": "GetCountries",
                "responses": {
                    "200": {
                        "description": "Known countries returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CountryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CountryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CountryInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrDefault",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Localization/Cultures": {
            "get": {
                "tags": [
                    "Localization"
                ],
                "summary": "Gets known cultures.",
                "operationId": "GetCultures",
                "responses": {
                    "200": {
                        "description": "Known cultures returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CultureDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CultureDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CultureDto"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrDefault",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Localization/Options": {
            "get": {
                "tags": [
                    "Localization"
                ],
                "summary": "Gets localization options.",
                "operationId": "GetLocalizationOptions",
                "responses": {
                    "200": {
                        "description": "Localization options returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/LocalizationOption"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/LocalizationOption"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/LocalizationOption"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrDefault",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Localization/ParentalRatings": {
            "get": {
                "tags": [
                    "Localization"
                ],
                "summary": "Gets known parental ratings.",
                "operationId": "GetParentalRatings",
                "responses": {
                    "200": {
                        "description": "Known parental ratings returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ParentalRating"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ParentalRating"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ParentalRating"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrDefault",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Audio/{itemId}/Lyrics": {
            "get": {
                "tags": [
                    "Lyrics"
                ],
                "summary": "Gets an item's lyrics.",
                "operationId": "GetLyrics",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lyrics returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Something went wrong. No Lyrics will be returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Lyrics"
                ],
                "summary": "Upload an external lyric file.",
                "operationId": "UploadLyrics",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item the lyric belongs to.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fileName",
                        "in": "query",
                        "description": "Name of the file being uploaded.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "text/plain": {
                            "schema": {
                                "type": "string",
                                "format": "binary"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Lyrics uploaded.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Error processing upload.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LyricManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Lyrics"
                ],
                "summary": "Deletes an external lyric file.",
                "operationId": "DeleteLyrics",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Lyric deleted."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LyricManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Audio/{itemId}/RemoteSearch/Lyrics": {
            "get": {
                "tags": [
                    "Lyrics"
                ],
                "summary": "Search remote lyrics.",
                "operationId": "SearchRemoteLyrics",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lyrics retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteLyricInfoDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteLyricInfoDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteLyricInfoDto"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LyricManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Audio/{itemId}/RemoteSearch/Lyrics/{lyricId}": {
            "post": {
                "tags": [
                    "Lyrics"
                ],
                "summary": "Downloads a remote lyric.",
                "operationId": "DownloadRemoteLyrics",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "lyricId",
                        "in": "path",
                        "description": "The lyric id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lyric downloaded.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LyricManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Providers/Lyrics/{lyricId}": {
            "get": {
                "tags": [
                    "Lyrics"
                ],
                "summary": "Gets the remote lyrics.",
                "operationId": "GetRemoteLyrics",
                "parameters": [
                    {
                        "name": "lyricId",
                        "in": "path",
                        "description": "The remote provider item id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LyricDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Lyric not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LyricManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/PlaybackInfo": {
            "get": {
                "tags": [
                    "MediaInfo"
                ],
                "summary": "Gets live playback media info for an item.",
                "operationId": "GetPlaybackInfo",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Playback info returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaybackInfoResponse"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaybackInfoResponse"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaybackInfoResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "MediaInfo"
                ],
                "summary": "Gets live playback media info for an item.",
                "description": "For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence.\r\nQuery parameters are obsolete.",
                "operationId": "GetPostedPlaybackInfo",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "deprecated": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "maxStreamingBitrate",
                        "in": "query",
                        "description": "The maximum streaming bitrate.",
                        "deprecated": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "The start time in ticks.",
                        "deprecated": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "The audio stream index.",
                        "deprecated": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "The subtitle stream index.",
                        "deprecated": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "The maximum number of audio channels.",
                        "deprecated": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media source id.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The livestream id.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "autoOpenLiveStream",
                        "in": "query",
                        "description": "Whether to auto open the livestream.",
                        "deprecated": true,
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableDirectPlay",
                        "in": "query",
                        "description": "Whether to enable direct play. Default: true.",
                        "deprecated": true,
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableDirectStream",
                        "in": "query",
                        "description": "Whether to enable direct stream. Default: true.",
                        "deprecated": true,
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableTranscoding",
                        "in": "query",
                        "description": "Whether to enable transcoding. Default: true.",
                        "deprecated": true,
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether to allow to copy the video stream. Default: true.",
                        "deprecated": true,
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether to allow to copy the audio stream. Default: true.",
                        "deprecated": true,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The playback info.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackInfoDto"
                                    }
                                ],
                                "description": "Plabyback info dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackInfoDto"
                                    }
                                ],
                                "description": "Plabyback info dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackInfoDto"
                                    }
                                ],
                                "description": "Plabyback info dto."
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Playback info returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaybackInfoResponse"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaybackInfoResponse"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaybackInfoResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveStreams/Close": {
            "post": {
                "tags": [
                    "MediaInfo"
                ],
                "summary": "Closes a media source.",
                "operationId": "CloseLiveStream",
                "parameters": [
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The livestream id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Livestream closed."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/LiveStreams/Open": {
            "post": {
                "tags": [
                    "MediaInfo"
                ],
                "summary": "Opens a media source.",
                "operationId": "OpenLiveStream",
                "parameters": [
                    {
                        "name": "openToken",
                        "in": "query",
                        "description": "The open token.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "maxStreamingBitrate",
                        "in": "query",
                        "description": "The maximum streaming bitrate.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "The start time in ticks.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "The audio stream index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "The subtitle stream index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "The maximum number of audio channels.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "query",
                        "description": "The item id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "enableDirectPlay",
                        "in": "query",
                        "description": "Whether to enable direct play. Default: true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableDirectStream",
                        "in": "query",
                        "description": "Whether to enable direct stream. Default: true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "alwaysBurnInSubtitleWhenTranscoding",
                        "in": "query",
                        "description": "Always burn-in subtitle when transcoding.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The open live stream dto.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/OpenLiveStreamDto"
                                    }
                                ],
                                "description": "Open live stream dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/OpenLiveStreamDto"
                                    }
                                ],
                                "description": "Open live stream dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/OpenLiveStreamDto"
                                    }
                                ],
                                "description": "Open live stream dto."
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Media source opened.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/LiveStreamResponse"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LiveStreamResponse"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/LiveStreamResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Playback/BitrateTest": {
            "get": {
                "tags": [
                    "MediaInfo"
                ],
                "summary": "Tests the network with a request with the size of the bitrate.",
                "operationId": "GetBitrateTestBytes",
                "parameters": [
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The bitrate. Defaults to 102400.",
                        "schema": {
                            "maximum": 100000000,
                            "minimum": 1,
                            "type": "integer",
                            "format": "int32",
                            "default": 102400
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Test buffer returned.",
                        "content": {
                            "application/octet-stream": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/MediaSegments/{itemId}": {
            "get": {
                "tags": [
                    "MediaSegments"
                ],
                "summary": "Gets all media segments based on an itemId.",
                "operationId": "GetItemSegments",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The ItemId.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "includeSegmentTypes",
                        "in": "query",
                        "description": "Optional filter of requested segment types.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaSegmentType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MediaSegmentDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/MediaSegmentDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/MediaSegmentDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Movies/Recommendations": {
            "get": {
                "tags": [
                    "Movies"
                ],
                "summary": "Gets movie recommendations.",
                "operationId": "GetMovieRecommendations",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. The fields to return.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "categoryLimit",
                        "in": "query",
                        "description": "The max number of categories to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 5
                        }
                    },
                    {
                        "name": "itemLimit",
                        "in": "query",
                        "description": "The max number of items to return per category.",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 8
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Movie recommendations returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RecommendationDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RecommendationDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RecommendationDto"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/MusicGenres": {
            "get": {
                "tags": [
                    "MusicGenres"
                ],
                "summary": "Gets all music genres from a given item, folder, or the entire library.",
                "operationId": "GetMusicGenres",
                "parameters": [
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "The search term.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional filter by items that are marked as favorite, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional, the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "nameStartsWithOrGreater",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameStartsWith",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameLessThan",
                        "in": "query",
                        "description": "Optional filter by items whose name is equally or lesser than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Sort Order - Ascending,Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional, include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Optional. Include total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Music genres returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "deprecated": true,
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/MusicGenres/{genreName}": {
            "get": {
                "tags": [
                    "MusicGenres"
                ],
                "summary": "Gets a music genre, by name.",
                "operationId": "GetMusicGenre",
                "parameters": [
                    {
                        "name": "genreName",
                        "in": "path",
                        "description": "The genre name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Jellyfin.Plugin.OpenSubtitles/ValidateLoginInfo": {
            "post": {
                "tags": [
                    "OpenSubtitles"
                ],
                "operationId": "ValidateLoginInfo",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/LoginInfoInput"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/LoginInfoInput"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/LoginInfoInput"
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Bad Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SubtitleManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Packages": {
            "get": {
                "tags": [
                    "Package"
                ],
                "summary": "Gets available packages.",
                "operationId": "GetPackages",
                "responses": {
                    "200": {
                        "description": "Available packages returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PackageInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PackageInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PackageInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Packages/{name}": {
            "get": {
                "tags": [
                    "Package"
                ],
                "summary": "Gets a package by name or assembly GUID.",
                "operationId": "GetPackageInfo",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "The name of the package.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "assemblyGuid",
                        "in": "query",
                        "description": "The GUID of the associated assembly.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Package retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PackageInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PackageInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PackageInfo"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Packages/Installed/{name}": {
            "post": {
                "tags": [
                    "Package"
                ],
                "summary": "Installs a package.",
                "operationId": "InstallPackage",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Package name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "assemblyGuid",
                        "in": "query",
                        "description": "GUID of the associated assembly.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "version",
                        "in": "query",
                        "description": "Optional version. Defaults to latest version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "repositoryUrl",
                        "in": "query",
                        "description": "Optional. Specify the repository to install from.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Package found."
                    },
                    "404": {
                        "description": "Package not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Packages/Installing/{packageId}": {
            "delete": {
                "tags": [
                    "Package"
                ],
                "summary": "Cancels a package installation.",
                "operationId": "CancelPackageInstallation",
                "parameters": [
                    {
                        "name": "packageId",
                        "in": "path",
                        "description": "Installation Id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Installation cancelled."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Repositories": {
            "get": {
                "tags": [
                    "Package"
                ],
                "summary": "Gets all package repositories.",
                "operationId": "GetRepositories",
                "responses": {
                    "200": {
                        "description": "Package repositories returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RepositoryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RepositoryInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RepositoryInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Package"
                ],
                "summary": "Sets the enabled and existing package repositories.",
                "operationId": "SetRepositories",
                "requestBody": {
                    "description": "The list of package repositories.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/RepositoryInfo"
                                }
                            }
                        },
                        "text/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/RepositoryInfo"
                                }
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/RepositoryInfo"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Package repositories saved."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Persons": {
            "get": {
                "tags": [
                    "Persons"
                ],
                "summary": "Gets all persons.",
                "operationId": "GetPersons",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "The search term.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "filters",
                        "in": "query",
                        "description": "Optional. Specify additional filters to apply.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFilter"
                            }
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional filter by items that are marked as favorite, or not. userId is required.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional, include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional, the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "excludePersonTypes",
                        "in": "query",
                        "description": "Optional. If specified results will be filtered to exclude those containing the specified PersonType. Allows multiple, comma-delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "personTypes",
                        "in": "query",
                        "description": "Optional. If specified results will be filtered to include only those containing the specified PersonType. Allows multiple, comma-delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "appearsInItemId",
                        "in": "query",
                        "description": "Optional. If specified, person results will be filtered on items related to said persons.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional, include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Persons returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Persons/{name}": {
            "get": {
                "tags": [
                    "Persons"
                ],
                "summary": "Get person by name.",
                "operationId": "GetPerson",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Person name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Person returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Person not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Playlists": {
            "post": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Creates a new playlist.",
                "description": "For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence.\r\nQuery parameters are obsolete.",
                "operationId": "CreatePlaylist",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The playlist name.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "The item ids.",
                        "deprecated": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "deprecated": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "mediaType",
                        "in": "query",
                        "description": "The media type.",
                        "deprecated": true,
                        "schema": {
                            "enum": [
                                "Unknown",
                                "Video",
                                "Audio",
                                "Photo",
                                "Book"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/MediaType"
                                }
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "The create playlist payload.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/CreatePlaylistDto"
                                    }
                                ],
                                "description": "Create new playlist dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/CreatePlaylistDto"
                                    }
                                ],
                                "description": "Create new playlist dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/CreatePlaylistDto"
                                    }
                                ],
                                "description": "Create new playlist dto."
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Playlist created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaylistCreationResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaylistCreationResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaylistCreationResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Playlists/{playlistId}": {
            "post": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Updates a playlist.",
                "operationId": "UpdatePlaylist",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The Jellyfin.Api.Models.PlaylistDtos.UpdatePlaylistDto id.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdatePlaylistDto"
                                    }
                                ],
                                "description": "Update existing playlist dto. Fields set to `null` will not be updated and keep their current values."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdatePlaylistDto"
                                    }
                                ],
                                "description": "Update existing playlist dto. Fields set to `null` will not be updated and keep their current values."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdatePlaylistDto"
                                    }
                                ],
                                "description": "Update existing playlist dto. Fields set to `null` will not be updated and keep their current values."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Playlist updated."
                    },
                    "403": {
                        "description": "Access forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Playlist not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "get": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Get a playlist.",
                "operationId": "GetPlaylist",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The playlist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaylistDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaylistDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaylistDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Playlist not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Playlists/{playlistId}/Items": {
            "post": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Adds items to a playlist.",
                "operationId": "AddItemToPlaylist",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "Item id, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The userId.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Items added to playlist."
                    },
                    "403": {
                        "description": "Access forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Playlist not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Removes items from a playlist.",
                "operationId": "RemoveItemFromPlaylist",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "entryIds",
                        "in": "query",
                        "description": "The item ids, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Items removed."
                    },
                    "403": {
                        "description": "Access forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Playlist not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "get": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Gets the original items of a playlist.",
                "operationId": "GetPlaylistItems",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Original playlist returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Playlist not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Playlists/{playlistId}/Items/{itemId}/Move/{newIndex}": {
            "post": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Moves a playlist item.",
                "operationId": "MoveItem",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "newIndex",
                        "in": "path",
                        "description": "The new index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Item moved to new index."
                    },
                    "403": {
                        "description": "Access forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Playlist not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Playlists/{playlistId}/Users": {
            "get": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Get a playlist's users.",
                "operationId": "GetPlaylistUsers",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Found shares.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PlaylistUserPermissions"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PlaylistUserPermissions"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PlaylistUserPermissions"
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Playlist not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Playlists/{playlistId}/Users/{userId}": {
            "get": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Get a playlist user.",
                "operationId": "GetPlaylistUser",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "path",
                        "description": "The user id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User permission found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaylistUserPermissions"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaylistUserPermissions"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PlaylistUserPermissions"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Playlist not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Modify a user of a playlist's users.",
                "operationId": "UpdatePlaylistUser",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "path",
                        "description": "The user id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The Jellyfin.Api.Models.PlaylistDtos.UpdatePlaylistUserDto.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdatePlaylistUserDto"
                                    }
                                ],
                                "description": "Update existing playlist user dto. Fields set to `null` will not be updated and keep their current values."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdatePlaylistUserDto"
                                    }
                                ],
                                "description": "Update existing playlist user dto. Fields set to `null` will not be updated and keep their current values."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdatePlaylistUserDto"
                                    }
                                ],
                                "description": "Update existing playlist user dto. Fields set to `null` will not be updated and keep their current values."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "User's permissions modified."
                    },
                    "403": {
                        "description": "Access forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Playlist not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Playlists"
                ],
                "summary": "Remove a user from a playlist's users.",
                "operationId": "RemoveUserFromPlaylist",
                "parameters": [
                    {
                        "name": "playlistId",
                        "in": "path",
                        "description": "The playlist id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "path",
                        "description": "The user id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "User permissions removed from playlist."
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "No playlist or user permissions found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized access."
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/PlayingItems/{itemId}": {
            "post": {
                "tags": [
                    "Playstate"
                ],
                "summary": "Reports that a session has begun playing an item.",
                "operationId": "OnPlaybackStart",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The id of the MediaSource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "The audio stream index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "The subtitle stream index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "playMethod",
                        "in": "query",
                        "description": "The play method.",
                        "schema": {
                            "enum": [
                                "Transcode",
                                "DirectStream",
                                "DirectPlay"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/PlayMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "canSeek",
                        "in": "query",
                        "description": "Indicates if the client can seek.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Play start recorded."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Playstate"
                ],
                "summary": "Reports that a session has stopped playing an item.",
                "operationId": "OnPlaybackStopped",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The id of the MediaSource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nextMediaType",
                        "in": "query",
                        "description": "The next media type that will play.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "positionTicks",
                        "in": "query",
                        "description": "Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Playback stop recorded."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/PlayingItems/{itemId}/Progress": {
            "post": {
                "tags": [
                    "Playstate"
                ],
                "summary": "Reports a session's playback progress.",
                "operationId": "OnPlaybackProgress",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The id of the MediaSource.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "positionTicks",
                        "in": "query",
                        "description": "Optional. The current position, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "The audio stream index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "The subtitle stream index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "volumeLevel",
                        "in": "query",
                        "description": "Scale of 0-100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "playMethod",
                        "in": "query",
                        "description": "The play method.",
                        "schema": {
                            "enum": [
                                "Transcode",
                                "DirectStream",
                                "DirectPlay"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/PlayMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "repeatMode",
                        "in": "query",
                        "description": "The repeat mode.",
                        "schema": {
                            "enum": [
                                "RepeatNone",
                                "RepeatAll",
                                "RepeatOne"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/RepeatMode"
                                }
                            ]
                        }
                    },
                    {
                        "name": "isPaused",
                        "in": "query",
                        "description": "Indicates if the player is paused.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "isMuted",
                        "in": "query",
                        "description": "Indicates if the player is muted.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Play progress recorded."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/Playing": {
            "post": {
                "tags": [
                    "Playstate"
                ],
                "summary": "Reports playback has started within a session.",
                "operationId": "ReportPlaybackStart",
                "requestBody": {
                    "description": "The playback start info.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackStartInfo"
                                    }
                                ],
                                "description": "Class PlaybackStartInfo."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackStartInfo"
                                    }
                                ],
                                "description": "Class PlaybackStartInfo."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackStartInfo"
                                    }
                                ],
                                "description": "Class PlaybackStartInfo."
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Playback start recorded."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/Playing/Ping": {
            "post": {
                "tags": [
                    "Playstate"
                ],
                "summary": "Pings a playback session.",
                "operationId": "PingPlaybackSession",
                "parameters": [
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "Playback session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Playback session pinged."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/Playing/Progress": {
            "post": {
                "tags": [
                    "Playstate"
                ],
                "summary": "Reports playback progress within a session.",
                "operationId": "ReportPlaybackProgress",
                "requestBody": {
                    "description": "The playback progress info.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackProgressInfo"
                                    }
                                ],
                                "description": "Class PlaybackProgressInfo."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackProgressInfo"
                                    }
                                ],
                                "description": "Class PlaybackProgressInfo."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackProgressInfo"
                                    }
                                ],
                                "description": "Class PlaybackProgressInfo."
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Playback progress recorded."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/Playing/Stopped": {
            "post": {
                "tags": [
                    "Playstate"
                ],
                "summary": "Reports playback has stopped within a session.",
                "operationId": "ReportPlaybackStopped",
                "requestBody": {
                    "description": "The playback stop info.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackStopInfo"
                                    }
                                ],
                                "description": "Class PlaybackStopInfo."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackStopInfo"
                                    }
                                ],
                                "description": "Class PlaybackStopInfo."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlaybackStopInfo"
                                    }
                                ],
                                "description": "Class PlaybackStopInfo."
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Playback stop recorded."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/UserPlayedItems/{itemId}": {
            "post": {
                "tags": [
                    "Playstate"
                ],
                "summary": "Marks an item as played for user.",
                "operationId": "MarkPlayedItem",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "datePlayed",
                        "in": "query",
                        "description": "Optional. The date the item was played.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item marked as played.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Playstate"
                ],
                "summary": "Marks an item as unplayed for user.",
                "operationId": "MarkUnplayedItem",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item marked as unplayed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Plugins": {
            "get": {
                "tags": [
                    "Plugins"
                ],
                "summary": "Gets a list of currently installed plugins.",
                "operationId": "GetPlugins",
                "responses": {
                    "200": {
                        "description": "Installed plugins returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PluginInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PluginInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PluginInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Plugins/{pluginId}": {
            "delete": {
                "tags": [
                    "Plugins"
                ],
                "summary": "Uninstalls a plugin.",
                "operationId": "UninstallPlugin",
                "parameters": [
                    {
                        "name": "pluginId",
                        "in": "path",
                        "description": "Plugin id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Plugin uninstalled."
                    },
                    "404": {
                        "description": "Plugin not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "deprecated": true,
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Plugins/{pluginId}/{version}": {
            "delete": {
                "tags": [
                    "Plugins"
                ],
                "summary": "Uninstalls a plugin by version.",
                "operationId": "UninstallPluginByVersion",
                "parameters": [
                    {
                        "name": "pluginId",
                        "in": "path",
                        "description": "Plugin id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "version",
                        "in": "path",
                        "description": "Plugin version.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Plugin uninstalled."
                    },
                    "404": {
                        "description": "Plugin not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Plugins/{pluginId}/{version}/Disable": {
            "post": {
                "tags": [
                    "Plugins"
                ],
                "summary": "Disable a plugin.",
                "operationId": "DisablePlugin",
                "parameters": [
                    {
                        "name": "pluginId",
                        "in": "path",
                        "description": "Plugin id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "version",
                        "in": "path",
                        "description": "Plugin version.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Plugin disabled."
                    },
                    "404": {
                        "description": "Plugin not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Plugins/{pluginId}/{version}/Enable": {
            "post": {
                "tags": [
                    "Plugins"
                ],
                "summary": "Enables a disabled plugin.",
                "operationId": "EnablePlugin",
                "parameters": [
                    {
                        "name": "pluginId",
                        "in": "path",
                        "description": "Plugin id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "version",
                        "in": "path",
                        "description": "Plugin version.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Plugin enabled."
                    },
                    "404": {
                        "description": "Plugin not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Plugins/{pluginId}/{version}/Image": {
            "get": {
                "tags": [
                    "Plugins"
                ],
                "summary": "Gets a plugin's image.",
                "operationId": "GetPluginImage",
                "parameters": [
                    {
                        "name": "pluginId",
                        "in": "path",
                        "description": "Plugin id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "version",
                        "in": "path",
                        "description": "Plugin version.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Plugin image returned.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Plugins/{pluginId}/Configuration": {
            "get": {
                "tags": [
                    "Plugins"
                ],
                "summary": "Gets plugin configuration.",
                "operationId": "GetPluginConfiguration",
                "parameters": [
                    {
                        "name": "pluginId",
                        "in": "path",
                        "description": "Plugin id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Plugin configuration returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasePluginConfiguration"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasePluginConfiguration"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BasePluginConfiguration"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Plugin not found or plugin configuration not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Plugins"
                ],
                "summary": "Updates plugin configuration.",
                "description": "Accepts plugin configuration as JSON body.",
                "operationId": "UpdatePluginConfiguration",
                "parameters": [
                    {
                        "name": "pluginId",
                        "in": "path",
                        "description": "Plugin id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Plugin configuration updated."
                    },
                    "404": {
                        "description": "Plugin not found or plugin does not have configuration.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Plugins/{pluginId}/Manifest": {
            "post": {
                "tags": [
                    "Plugins"
                ],
                "summary": "Gets a plugin's manifest.",
                "operationId": "GetPluginManifest",
                "parameters": [
                    {
                        "name": "pluginId",
                        "in": "path",
                        "description": "Plugin id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Plugin manifest returned."
                    },
                    "404": {
                        "description": "Plugin not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/QuickConnect/Authorize": {
            "post": {
                "tags": [
                    "QuickConnect"
                ],
                "summary": "Authorizes a pending quick connect request.",
                "operationId": "AuthorizeQuickConnect",
                "parameters": [
                    {
                        "name": "code",
                        "in": "query",
                        "description": "Quick connect code to authorize.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user the authorize. Access to the requested user is required.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Quick connect result authorized successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "boolean"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "boolean"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "boolean"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Unknown user id.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/QuickConnect/Connect": {
            "get": {
                "tags": [
                    "QuickConnect"
                ],
                "summary": "Attempts to retrieve authentication information.",
                "operationId": "GetQuickConnectState",
                "parameters": [
                    {
                        "name": "secret",
                        "in": "query",
                        "description": "Secret previously returned from the Initiate endpoint.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Quick connect result returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/QuickConnectResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/QuickConnectResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/QuickConnectResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown quick connect secret.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/QuickConnect/Enabled": {
            "get": {
                "tags": [
                    "QuickConnect"
                ],
                "summary": "Gets the current quick connect state.",
                "operationId": "GetQuickConnectEnabled",
                "responses": {
                    "200": {
                        "description": "Quick connect state returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "boolean"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "boolean"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "boolean"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/QuickConnect/Initiate": {
            "post": {
                "tags": [
                    "QuickConnect"
                ],
                "summary": "Initiate a new quick connect request.",
                "operationId": "InitiateQuickConnect",
                "responses": {
                    "200": {
                        "description": "Quick connect request successfully created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/QuickConnectResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/QuickConnectResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/QuickConnectResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Quick connect is not active on this server."
                    }
                }
            }
        },
        "/Items/{itemId}/RemoteImages": {
            "get": {
                "tags": [
                    "RemoteImage"
                ],
                "summary": "Gets available remote images for an item.",
                "operationId": "GetRemoteImages",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item Id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "The image type.",
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ]
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "providerName",
                        "in": "query",
                        "description": "Optional. The image provider to use.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "includeAllLanguages",
                        "in": "query",
                        "description": "Optional. Include all languages.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Remote Images returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RemoteImageResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/RemoteImageResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/RemoteImageResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/RemoteImages/Download": {
            "post": {
                "tags": [
                    "RemoteImage"
                ],
                "summary": "Downloads a remote image for an item.",
                "operationId": "DownloadRemoteImage",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item Id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "The image type.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Primary",
                                "Art",
                                "Backdrop",
                                "Banner",
                                "Logo",
                                "Thumb",
                                "Disc",
                                "Box",
                                "Screenshot",
                                "Menu",
                                "Chapter",
                                "BoxRear",
                                "Profile"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ImageType"
                                }
                            ],
                            "description": "Enum ImageType."
                        }
                    },
                    {
                        "name": "imageUrl",
                        "in": "query",
                        "description": "The image url.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Remote image downloaded."
                    },
                    "404": {
                        "description": "Remote image not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/RemoteImages/Providers": {
            "get": {
                "tags": [
                    "RemoteImage"
                ],
                "summary": "Gets available remote image providers for an item.",
                "operationId": "GetRemoteImageProviders",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item Id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returned remote image providers.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ImageProviderInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ImageProviderInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ImageProviderInfo"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/ScheduledTasks": {
            "get": {
                "tags": [
                    "ScheduledTasks"
                ],
                "summary": "Get tasks.",
                "operationId": "GetTasks",
                "parameters": [
                    {
                        "name": "isHidden",
                        "in": "query",
                        "description": "Optional filter tasks that are hidden, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isEnabled",
                        "in": "query",
                        "description": "Optional filter tasks that are enabled, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Scheduled tasks retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TaskInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TaskInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TaskInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/ScheduledTasks/{taskId}": {
            "get": {
                "tags": [
                    "ScheduledTasks"
                ],
                "summary": "Get task by id.",
                "operationId": "GetTask",
                "parameters": [
                    {
                        "name": "taskId",
                        "in": "path",
                        "description": "Task Id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Task retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TaskInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TaskInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/TaskInfo"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Task not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/ScheduledTasks/{taskId}/Triggers": {
            "post": {
                "tags": [
                    "ScheduledTasks"
                ],
                "summary": "Update specified task triggers.",
                "operationId": "UpdateTask",
                "parameters": [
                    {
                        "name": "taskId",
                        "in": "path",
                        "description": "Task Id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "Triggers.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/TaskTriggerInfo"
                                }
                            }
                        },
                        "text/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/TaskTriggerInfo"
                                }
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/TaskTriggerInfo"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Task triggers updated."
                    },
                    "404": {
                        "description": "Task not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/ScheduledTasks/Running/{taskId}": {
            "post": {
                "tags": [
                    "ScheduledTasks"
                ],
                "summary": "Start specified task.",
                "operationId": "StartTask",
                "parameters": [
                    {
                        "name": "taskId",
                        "in": "path",
                        "description": "Task Id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Task started."
                    },
                    "404": {
                        "description": "Task not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "ScheduledTasks"
                ],
                "summary": "Stop specified task.",
                "operationId": "StopTask",
                "parameters": [
                    {
                        "name": "taskId",
                        "in": "path",
                        "description": "Task Id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Task stopped."
                    },
                    "404": {
                        "description": "Task not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Search/Hints": {
            "get": {
                "tags": [
                    "Search"
                ],
                "summary": "Gets the search hint result.",
                "operationId": "GetSearchHints",
                "parameters": [
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Supply a user id to search within a user's library or omit to search all.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "The search term to filter on.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "If specified, only results with the specified item types are returned. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "If specified, results with these item types are filtered out. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "mediaTypes",
                        "in": "query",
                        "description": "If specified, only results with the specified media types are returned. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "If specified, only children of the parent are returned.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "isMovie",
                        "in": "query",
                        "description": "Optional filter for movies.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSeries",
                        "in": "query",
                        "description": "Optional filter for series.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isNews",
                        "in": "query",
                        "description": "Optional filter for news.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isKids",
                        "in": "query",
                        "description": "Optional filter for kids.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSports",
                        "in": "query",
                        "description": "Optional filter for sports.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "includePeople",
                        "in": "query",
                        "description": "Optional filter whether to include people.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "includeMedia",
                        "in": "query",
                        "description": "Optional filter whether to include media.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "includeGenres",
                        "in": "query",
                        "description": "Optional filter whether to include genres.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "includeStudios",
                        "in": "query",
                        "description": "Optional filter whether to include studios.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "includeArtists",
                        "in": "query",
                        "description": "Optional filter whether to include artists.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Search hint returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SearchHintResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SearchHintResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SearchHintResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Auth/PasswordResetProviders": {
            "get": {
                "tags": [
                    "Session"
                ],
                "summary": "Get all password reset providers.",
                "operationId": "GetPasswordResetProviders",
                "responses": {
                    "200": {
                        "description": "Password reset providers retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Auth/Providers": {
            "get": {
                "tags": [
                    "Session"
                ],
                "summary": "Get all auth providers.",
                "operationId": "GetAuthProviders",
                "responses": {
                    "200": {
                        "description": "Auth providers retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/NameIdPair"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Sessions": {
            "get": {
                "tags": [
                    "Session"
                ],
                "summary": "Gets a list of sessions.",
                "operationId": "GetSessions",
                "parameters": [
                    {
                        "name": "controllableByUserId",
                        "in": "query",
                        "description": "Filter by sessions that a given user is allowed to remote control.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "Filter by device Id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "activeWithinSeconds",
                        "in": "query",
                        "description": "Optional. Filter by sessions that were active in the last n seconds.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of sessions returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/SessionInfoDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/SessionInfoDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/SessionInfoDto"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/{sessionId}/Command": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Issues a full general command to a client.",
                "operationId": "SendFullGeneralCommand",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The MediaBrowser.Model.Session.GeneralCommand.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/GeneralCommand"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/GeneralCommand"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/GeneralCommand"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Full general command sent to session."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/{sessionId}/Command/{command}": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Issues a general command to a client.",
                "operationId": "SendGeneralCommand",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "command",
                        "in": "path",
                        "description": "The command to send.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "MoveUp",
                                "MoveDown",
                                "MoveLeft",
                                "MoveRight",
                                "PageUp",
                                "PageDown",
                                "PreviousLetter",
                                "NextLetter",
                                "ToggleOsd",
                                "ToggleContextMenu",
                                "Select",
                                "Back",
                                "TakeScreenshot",
                                "SendKey",
                                "SendString",
                                "GoHome",
                                "GoToSettings",
                                "VolumeUp",
                                "VolumeDown",
                                "Mute",
                                "Unmute",
                                "ToggleMute",
                                "SetVolume",
                                "SetAudioStreamIndex",
                                "SetSubtitleStreamIndex",
                                "ToggleFullscreen",
                                "DisplayContent",
                                "GoToSearch",
                                "DisplayMessage",
                                "SetRepeatMode",
                                "ChannelUp",
                                "ChannelDown",
                                "Guide",
                                "ToggleStats",
                                "PlayMediaSource",
                                "PlayTrailers",
                                "SetShuffleQueue",
                                "PlayState",
                                "PlayNext",
                                "ToggleOsdMenu",
                                "Play",
                                "SetMaxStreamingBitrate",
                                "SetPlaybackOrder"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/GeneralCommandType"
                                }
                            ],
                            "description": "This exists simply to identify a set of known commands."
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "General command sent to session."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/{sessionId}/Message": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Issues a command to a client to display a message to the user.",
                "operationId": "SendMessageCommand",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The MediaBrowser.Model.Session.MessageCommand object containing Header, Message Text, and TimeoutMs.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MessageCommand"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MessageCommand"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MessageCommand"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Message sent."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/{sessionId}/Playing": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Instructs a session to play an item.",
                "operationId": "Play",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playCommand",
                        "in": "query",
                        "description": "The type of play command to issue (PlayNow, PlayNext, PlayLast). Clients who have not yet implemented play next and play last may play now.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "PlayNow",
                                "PlayNext",
                                "PlayLast",
                                "PlayInstantMix",
                                "PlayShuffle"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/PlayCommand"
                                }
                            ],
                            "description": "Enum PlayCommand."
                        }
                    },
                    {
                        "name": "itemIds",
                        "in": "query",
                        "description": "The ids of the items to play, comma delimited.",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "startPositionTicks",
                        "in": "query",
                        "description": "The starting position of the first item.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "Optional. The media source id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to play.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to play.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The start index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Instruction sent to session."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/{sessionId}/Playing/{command}": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Issues a playstate command to a client.",
                "operationId": "SendPlaystateCommand",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "command",
                        "in": "path",
                        "description": "The MediaBrowser.Model.Session.PlaystateCommand.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "Stop",
                                "Pause",
                                "Unpause",
                                "NextTrack",
                                "PreviousTrack",
                                "Seek",
                                "Rewind",
                                "FastForward",
                                "PlayPause"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/PlaystateCommand"
                                }
                            ],
                            "description": "Enum PlaystateCommand."
                        }
                    },
                    {
                        "name": "seekPositionTicks",
                        "in": "query",
                        "description": "The optional position ticks.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "controllingUserId",
                        "in": "query",
                        "description": "The optional controlling user id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Playstate command sent to session."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/{sessionId}/System/{command}": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Issues a system command to a client.",
                "operationId": "SendSystemCommand",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "command",
                        "in": "path",
                        "description": "The command to send.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "MoveUp",
                                "MoveDown",
                                "MoveLeft",
                                "MoveRight",
                                "PageUp",
                                "PageDown",
                                "PreviousLetter",
                                "NextLetter",
                                "ToggleOsd",
                                "ToggleContextMenu",
                                "Select",
                                "Back",
                                "TakeScreenshot",
                                "SendKey",
                                "SendString",
                                "GoHome",
                                "GoToSettings",
                                "VolumeUp",
                                "VolumeDown",
                                "Mute",
                                "Unmute",
                                "ToggleMute",
                                "SetVolume",
                                "SetAudioStreamIndex",
                                "SetSubtitleStreamIndex",
                                "ToggleFullscreen",
                                "DisplayContent",
                                "GoToSearch",
                                "DisplayMessage",
                                "SetRepeatMode",
                                "ChannelUp",
                                "ChannelDown",
                                "Guide",
                                "ToggleStats",
                                "PlayMediaSource",
                                "PlayTrailers",
                                "SetShuffleQueue",
                                "PlayState",
                                "PlayNext",
                                "ToggleOsdMenu",
                                "Play",
                                "SetMaxStreamingBitrate",
                                "SetPlaybackOrder"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/GeneralCommandType"
                                }
                            ],
                            "description": "This exists simply to identify a set of known commands."
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "System command sent to session."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/{sessionId}/User/{userId}": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Adds an additional user to a session.",
                "operationId": "AddUserToSession",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "path",
                        "description": "The user id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "User added to session."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Session"
                ],
                "summary": "Removes an additional user from a session.",
                "operationId": "RemoveUserFromSession",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The session id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "path",
                        "description": "The user id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "User removed from session."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/{sessionId}/Viewing": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Instructs a session to browse to an item or view.",
                "operationId": "DisplayContent",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The session Id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "itemType",
                        "in": "query",
                        "description": "The type of item to browse to.",
                        "required": true,
                        "schema": {
                            "enum": [
                                "AggregateFolder",
                                "Audio",
                                "AudioBook",
                                "BasePluginFolder",
                                "Book",
                                "BoxSet",
                                "Channel",
                                "ChannelFolderItem",
                                "CollectionFolder",
                                "Episode",
                                "Folder",
                                "Genre",
                                "ManualPlaylistsFolder",
                                "Movie",
                                "LiveTvChannel",
                                "LiveTvProgram",
                                "MusicAlbum",
                                "MusicArtist",
                                "MusicGenre",
                                "MusicVideo",
                                "Person",
                                "Photo",
                                "PhotoAlbum",
                                "Playlist",
                                "PlaylistsFolder",
                                "Program",
                                "Recording",
                                "Season",
                                "Series",
                                "Studio",
                                "Trailer",
                                "TvChannel",
                                "TvProgram",
                                "UserRootFolder",
                                "UserView",
                                "Video",
                                "Year"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/BaseItemKind"
                                }
                            ],
                            "description": "The base item kind."
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "query",
                        "description": "The Id of the item.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "itemName",
                        "in": "query",
                        "description": "The name of the item.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Instruction sent to session."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/Capabilities": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Updates capabilities for a device.",
                "operationId": "PostCapabilities",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "The session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playableMediaTypes",
                        "in": "query",
                        "description": "A list of playable media types, comma delimited. Audio, Video, Book, Photo.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    },
                    {
                        "name": "supportedCommands",
                        "in": "query",
                        "description": "A list of supported remote control commands, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/GeneralCommandType"
                            }
                        }
                    },
                    {
                        "name": "supportsMediaControl",
                        "in": "query",
                        "description": "Determines whether media can be played remotely..",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "supportsPersistentIdentifier",
                        "in": "query",
                        "description": "Determines whether the device supports a unique identifier.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Capabilities posted."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/Capabilities/Full": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Updates capabilities for a device.",
                "operationId": "PostFullCapabilities",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "The session id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The MediaBrowser.Model.Session.ClientCapabilities.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ClientCapabilitiesDto"
                                    }
                                ],
                                "description": "Client capabilities dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ClientCapabilitiesDto"
                                    }
                                ],
                                "description": "Client capabilities dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ClientCapabilitiesDto"
                                    }
                                ],
                                "description": "Client capabilities dto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Capabilities updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/Logout": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Reports that a session has ended.",
                "operationId": "ReportSessionEnded",
                "responses": {
                    "204": {
                        "description": "Session end reported to server."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Sessions/Viewing": {
            "post": {
                "tags": [
                    "Session"
                ],
                "summary": "Reports that a session is viewing an item.",
                "operationId": "ReportViewing",
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "The session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "query",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Session reported to server."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Startup/Complete": {
            "post": {
                "tags": [
                    "Startup"
                ],
                "summary": "Completes the startup wizard.",
                "operationId": "CompleteWizard",
                "responses": {
                    "204": {
                        "description": "Startup wizard completed."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Startup/Configuration": {
            "get": {
                "tags": [
                    "Startup"
                ],
                "summary": "Gets the initial startup wizard configuration.",
                "operationId": "GetStartupConfiguration",
                "responses": {
                    "200": {
                        "description": "Initial startup wizard configuration retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartupConfigurationDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartupConfigurationDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartupConfigurationDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Startup"
                ],
                "summary": "Sets the initial startup wizard configuration.",
                "operationId": "UpdateInitialConfiguration",
                "requestBody": {
                    "description": "The updated startup configuration.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/StartupConfigurationDto"
                                    }
                                ],
                                "description": "The startup configuration DTO."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/StartupConfigurationDto"
                                    }
                                ],
                                "description": "The startup configuration DTO."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/StartupConfigurationDto"
                                    }
                                ],
                                "description": "The startup configuration DTO."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Configuration saved."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Startup/FirstUser": {
            "get": {
                "tags": [
                    "Startup"
                ],
                "summary": "Gets the first user.",
                "operationId": "GetFirstUser_2",
                "responses": {
                    "200": {
                        "description": "Initial user retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartupUserDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartupUserDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartupUserDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Startup/RemoteAccess": {
            "post": {
                "tags": [
                    "Startup"
                ],
                "summary": "Sets remote access and UPnP.",
                "operationId": "SetRemoteAccess",
                "requestBody": {
                    "description": "The startup remote access dto.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/StartupRemoteAccessDto"
                                    }
                                ],
                                "description": "Startup remote access dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/StartupRemoteAccessDto"
                                    }
                                ],
                                "description": "Startup remote access dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/StartupRemoteAccessDto"
                                    }
                                ],
                                "description": "Startup remote access dto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Configuration saved."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Startup/User": {
            "get": {
                "tags": [
                    "Startup"
                ],
                "summary": "Gets the first user.",
                "operationId": "GetFirstUser",
                "responses": {
                    "200": {
                        "description": "Initial user retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartupUserDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartupUserDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartupUserDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "Startup"
                ],
                "summary": "Sets the user name and password.",
                "operationId": "UpdateStartupUser",
                "requestBody": {
                    "description": "The DTO containing username and password.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/StartupUserDto"
                                    }
                                ],
                                "description": "The startup user DTO."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/StartupUserDto"
                                    }
                                ],
                                "description": "The startup user DTO."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/StartupUserDto"
                                    }
                                ],
                                "description": "The startup user DTO."
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Updated user name and password."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrElevated",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Studios": {
            "get": {
                "tags": [
                    "Studios"
                ],
                "summary": "Gets all studios from a given item, folder, or the entire library.",
                "operationId": "GetStudios",
                "parameters": [
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "Optional. Search term.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional filter by items that are marked as favorite, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional, include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional, the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "nameStartsWithOrGreater",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameStartsWith",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameLessThan",
                        "in": "query",
                        "description": "Optional filter by items whose name is equally or lesser than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional, include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Studios returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Studios/{name}": {
            "get": {
                "tags": [
                    "Studios"
                ],
                "summary": "Gets a studio by name.",
                "operationId": "GetStudio",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "Studio name.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Studio returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/FallbackFont/Fonts": {
            "get": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Gets a list of available fallback font files.",
                "operationId": "GetFallbackFontList",
                "responses": {
                    "200": {
                        "description": "Information retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FontFile"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FontFile"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FontFile"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/FallbackFont/Fonts/{name}": {
            "get": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Gets a fallback font file.",
                "operationId": "GetFallbackFont",
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "description": "The name of the fallback font file to get.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Fallback font file retrieved.",
                        "content": {
                            "font/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/RemoteSearch/Subtitles/{language}": {
            "get": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Search remote subtitles.",
                "operationId": "SearchRemoteSubtitles",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "language",
                        "in": "path",
                        "description": "The language of the subtitles.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "isPerfectMatch",
                        "in": "query",
                        "description": "Optional. Only show subtitles which are a perfect match.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Subtitles retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSubtitleInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSubtitleInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/RemoteSubtitleInfo"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SubtitleManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/RemoteSearch/Subtitles/{subtitleId}": {
            "post": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Downloads a remote subtitle.",
                "operationId": "DownloadRemoteSubtitles",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "subtitleId",
                        "in": "path",
                        "description": "The subtitle id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Subtitle downloaded."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SubtitleManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Providers/Subtitles/Subtitles/{subtitleId}": {
            "get": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Gets the remote subtitles.",
                "operationId": "GetRemoteSubtitles",
                "parameters": [
                    {
                        "name": "subtitleId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File returned.",
                        "content": {
                            "text/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SubtitleManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/subtitles.m3u8": {
            "get": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Gets an HLS subtitle playlist.",
                "operationId": "GetSubtitlePlaylist",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "index",
                        "in": "path",
                        "description": "The subtitle stream index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "path",
                        "description": "The media source id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The subtitle segment length.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Subtitle playlist retrieved.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/Subtitles": {
            "post": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Upload an external subtitle file.",
                "operationId": "UploadSubtitle",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item the subtitle belongs to.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The request body.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UploadSubtitleDto"
                                    }
                                ],
                                "description": "Upload subtitles dto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UploadSubtitleDto"
                                    }
                                ],
                                "description": "Upload subtitles dto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UploadSubtitleDto"
                                    }
                                ],
                                "description": "Upload subtitles dto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Subtitle uploaded."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SubtitleManagement",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/Subtitles/{index}": {
            "delete": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Deletes an external subtitle file.",
                "operationId": "DeleteSubtitle",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "index",
                        "in": "path",
                        "description": "The index of the subtitle file.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Subtitle deleted."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Videos/{routeItemId}/{routeMediaSourceId}/Subtitles/{routeIndex}/{routeStartPositionTicks}/Stream.{routeFormat}": {
            "get": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Gets subtitles in a specified format.",
                "operationId": "GetSubtitleWithTicks",
                "parameters": [
                    {
                        "name": "routeItemId",
                        "in": "path",
                        "description": "The (route) item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "routeMediaSourceId",
                        "in": "path",
                        "description": "The (route) media source id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "routeIndex",
                        "in": "path",
                        "description": "The (route) subtitle stream index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "routeStartPositionTicks",
                        "in": "path",
                        "description": "The (route) start position of the subtitle in ticks.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "routeFormat",
                        "in": "path",
                        "description": "The (route) format of the returned subtitle.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "query",
                        "description": "The item id.",
                        "deprecated": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media source id.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "index",
                        "in": "query",
                        "description": "The subtitle stream index.",
                        "deprecated": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "startPositionTicks",
                        "in": "query",
                        "description": "The start position of the subtitle in ticks.",
                        "deprecated": true,
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "The format of the returned subtitle.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "endPositionTicks",
                        "in": "query",
                        "description": "Optional. The end position of the subtitle in ticks.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Optional. Whether to copy the timestamps.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "addVttTimeMap",
                        "in": "query",
                        "description": "Optional. Whether to add a VTT time map.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File returned.",
                        "content": {
                            "text/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Videos/{routeItemId}/{routeMediaSourceId}/Subtitles/{routeIndex}/Stream.{routeFormat}": {
            "get": {
                "tags": [
                    "Subtitle"
                ],
                "summary": "Gets subtitles in a specified format.",
                "operationId": "GetSubtitle",
                "parameters": [
                    {
                        "name": "routeItemId",
                        "in": "path",
                        "description": "The (route) item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "routeMediaSourceId",
                        "in": "path",
                        "description": "The (route) media source id.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "routeIndex",
                        "in": "path",
                        "description": "The (route) subtitle stream index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "routeFormat",
                        "in": "path",
                        "description": "The (route) format of the returned subtitle.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "query",
                        "description": "The item id.",
                        "deprecated": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media source id.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "index",
                        "in": "query",
                        "description": "The subtitle stream index.",
                        "deprecated": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "The format of the returned subtitle.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "endPositionTicks",
                        "in": "query",
                        "description": "Optional. The end position of the subtitle in ticks.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Optional. Whether to copy the timestamps.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "addVttTimeMap",
                        "in": "query",
                        "description": "Optional. Whether to add a VTT time map.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "startPositionTicks",
                        "in": "query",
                        "description": "The start position of the subtitle in ticks.",
                        "schema": {
                            "type": "integer",
                            "format": "int64",
                            "default": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File returned.",
                        "content": {
                            "text/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Items/Suggestions": {
            "get": {
                "tags": [
                    "Suggestions"
                ],
                "summary": "Gets suggestions.",
                "operationId": "GetSuggestions",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "mediaType",
                        "in": "query",
                        "description": "The media types.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "The type.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The start index.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The limit.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Whether to enable the total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Suggestions returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Buffering": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Notify SyncPlay group that member is buffering.",
                "operationId": "SyncPlayBuffering",
                "requestBody": {
                    "description": "The player status.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BufferRequestDto"
                                    }
                                ],
                                "description": "Class BufferRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BufferRequestDto"
                                    }
                                ],
                                "description": "Class BufferRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/BufferRequestDto"
                                    }
                                ],
                                "description": "Class BufferRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Group state update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Join": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Join an existing SyncPlay group.",
                "operationId": "SyncPlayJoinGroup",
                "requestBody": {
                    "description": "The group to join.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/JoinGroupRequestDto"
                                    }
                                ],
                                "description": "Class JoinGroupRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/JoinGroupRequestDto"
                                    }
                                ],
                                "description": "Class JoinGroupRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/JoinGroupRequestDto"
                                    }
                                ],
                                "description": "Class JoinGroupRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Group join successful."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayJoinGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Leave": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Leave the joined SyncPlay group.",
                "operationId": "SyncPlayLeaveGroup",
                "responses": {
                    "204": {
                        "description": "Group leave successful."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/List": {
            "get": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Gets all SyncPlay groups.",
                "operationId": "SyncPlayGetGroups",
                "responses": {
                    "200": {
                        "description": "Groups returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/GroupInfoDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/GroupInfoDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/GroupInfoDto"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayJoinGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/MovePlaylistItem": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request to move an item in the playlist in SyncPlay group.",
                "operationId": "SyncPlayMovePlaylistItem",
                "requestBody": {
                    "description": "The new position for the item.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MovePlaylistItemRequestDto"
                                    }
                                ],
                                "description": "Class MovePlaylistItemRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MovePlaylistItemRequestDto"
                                    }
                                ],
                                "description": "Class MovePlaylistItemRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/MovePlaylistItemRequestDto"
                                    }
                                ],
                                "description": "Class MovePlaylistItemRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Queue update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/New": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Create a new SyncPlay group.",
                "operationId": "SyncPlayCreateGroup",
                "requestBody": {
                    "description": "The settings of the new group.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/NewGroupRequestDto"
                                    }
                                ],
                                "description": "Class NewGroupRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/NewGroupRequestDto"
                                    }
                                ],
                                "description": "Class NewGroupRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/NewGroupRequestDto"
                                    }
                                ],
                                "description": "Class NewGroupRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "New group created."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayCreateGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/NextItem": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request next item in SyncPlay group.",
                "operationId": "SyncPlayNextItem",
                "requestBody": {
                    "description": "The current item information.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/NextItemRequestDto"
                                    }
                                ],
                                "description": "Class NextItemRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/NextItemRequestDto"
                                    }
                                ],
                                "description": "Class NextItemRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/NextItemRequestDto"
                                    }
                                ],
                                "description": "Class NextItemRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Next item update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Pause": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request pause in SyncPlay group.",
                "operationId": "SyncPlayPause",
                "responses": {
                    "204": {
                        "description": "Pause update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Ping": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Update session ping.",
                "operationId": "SyncPlayPing",
                "requestBody": {
                    "description": "The new ping.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PingRequestDto"
                                    }
                                ],
                                "description": "Class PingRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PingRequestDto"
                                    }
                                ],
                                "description": "Class PingRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PingRequestDto"
                                    }
                                ],
                                "description": "Class PingRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Ping updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/PreviousItem": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request previous item in SyncPlay group.",
                "operationId": "SyncPlayPreviousItem",
                "requestBody": {
                    "description": "The current item information.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PreviousItemRequestDto"
                                    }
                                ],
                                "description": "Class PreviousItemRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PreviousItemRequestDto"
                                    }
                                ],
                                "description": "Class PreviousItemRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PreviousItemRequestDto"
                                    }
                                ],
                                "description": "Class PreviousItemRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Previous item update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Queue": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request to queue items to the playlist of a SyncPlay group.",
                "operationId": "SyncPlayQueue",
                "requestBody": {
                    "description": "The items to add.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/QueueRequestDto"
                                    }
                                ],
                                "description": "Class QueueRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/QueueRequestDto"
                                    }
                                ],
                                "description": "Class QueueRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/QueueRequestDto"
                                    }
                                ],
                                "description": "Class QueueRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Queue update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Ready": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Notify SyncPlay group that member is ready for playback.",
                "operationId": "SyncPlayReady",
                "requestBody": {
                    "description": "The player status.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ReadyRequestDto"
                                    }
                                ],
                                "description": "Class ReadyRequest."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ReadyRequestDto"
                                    }
                                ],
                                "description": "Class ReadyRequest."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ReadyRequestDto"
                                    }
                                ],
                                "description": "Class ReadyRequest."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Group state update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/RemoveFromPlaylist": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request to remove items from the playlist in SyncPlay group.",
                "operationId": "SyncPlayRemoveFromPlaylist",
                "requestBody": {
                    "description": "The items to remove.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/RemoveFromPlaylistRequestDto"
                                    }
                                ],
                                "description": "Class RemoveFromPlaylistRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/RemoveFromPlaylistRequestDto"
                                    }
                                ],
                                "description": "Class RemoveFromPlaylistRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/RemoveFromPlaylistRequestDto"
                                    }
                                ],
                                "description": "Class RemoveFromPlaylistRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Queue update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Seek": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request seek in SyncPlay group.",
                "operationId": "SyncPlaySeek",
                "requestBody": {
                    "description": "The new playback position.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeekRequestDto"
                                    }
                                ],
                                "description": "Class SeekRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeekRequestDto"
                                    }
                                ],
                                "description": "Class SeekRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SeekRequestDto"
                                    }
                                ],
                                "description": "Class SeekRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Seek update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/SetIgnoreWait": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request SyncPlay group to ignore member during group-wait.",
                "operationId": "SyncPlaySetIgnoreWait",
                "requestBody": {
                    "description": "The settings to set.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/IgnoreWaitRequestDto"
                                    }
                                ],
                                "description": "Class IgnoreWaitRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/IgnoreWaitRequestDto"
                                    }
                                ],
                                "description": "Class IgnoreWaitRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/IgnoreWaitRequestDto"
                                    }
                                ],
                                "description": "Class IgnoreWaitRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Member state updated."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/SetNewQueue": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request to set new playlist in SyncPlay group.",
                "operationId": "SyncPlaySetNewQueue",
                "requestBody": {
                    "description": "The new playlist to play in the group.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlayRequestDto"
                                    }
                                ],
                                "description": "Class PlayRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlayRequestDto"
                                    }
                                ],
                                "description": "Class PlayRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/PlayRequestDto"
                                    }
                                ],
                                "description": "Class PlayRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Queue update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/SetPlaylistItem": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request to change playlist item in SyncPlay group.",
                "operationId": "SyncPlaySetPlaylistItem",
                "requestBody": {
                    "description": "The new item to play.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetPlaylistItemRequestDto"
                                    }
                                ],
                                "description": "Class SetPlaylistItemRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetPlaylistItemRequestDto"
                                    }
                                ],
                                "description": "Class SetPlaylistItemRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetPlaylistItemRequestDto"
                                    }
                                ],
                                "description": "Class SetPlaylistItemRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Queue update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/SetRepeatMode": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request to set repeat mode in SyncPlay group.",
                "operationId": "SyncPlaySetRepeatMode",
                "requestBody": {
                    "description": "The new repeat mode.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetRepeatModeRequestDto"
                                    }
                                ],
                                "description": "Class SetRepeatModeRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetRepeatModeRequestDto"
                                    }
                                ],
                                "description": "Class SetRepeatModeRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetRepeatModeRequestDto"
                                    }
                                ],
                                "description": "Class SetRepeatModeRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Play queue update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/SetShuffleMode": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request to set shuffle mode in SyncPlay group.",
                "operationId": "SyncPlaySetShuffleMode",
                "requestBody": {
                    "description": "The new shuffle mode.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetShuffleModeRequestDto"
                                    }
                                ],
                                "description": "Class SetShuffleModeRequestDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetShuffleModeRequestDto"
                                    }
                                ],
                                "description": "Class SetShuffleModeRequestDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/SetShuffleModeRequestDto"
                                    }
                                ],
                                "description": "Class SetShuffleModeRequestDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Play queue update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Stop": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request stop in SyncPlay group.",
                "operationId": "SyncPlayStop",
                "responses": {
                    "204": {
                        "description": "Stop update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/SyncPlay/Unpause": {
            "post": {
                "tags": [
                    "SyncPlay"
                ],
                "summary": "Request unpause in SyncPlay group.",
                "operationId": "SyncPlayUnpause",
                "responses": {
                    "204": {
                        "description": "Unpause update sent to all group members."
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "SyncPlayIsInGroup",
                            "SyncPlayHasAccess",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/System/Endpoint": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "Gets information about the request endpoint.",
                "operationId": "GetEndpointInfo",
                "responses": {
                    "200": {
                        "description": "Information retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EndPointInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/EndPointInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/EndPointInfo"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have permission to get endpoint information.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/System/Info": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "Gets information about the server.",
                "operationId": "GetSystemInfo",
                "responses": {
                    "200": {
                        "description": "Information retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SystemInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SystemInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/SystemInfo"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have permission to retrieve information.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "FirstTimeSetupOrIgnoreParentalControl",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/System/Info/Public": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "Gets public information about the server.",
                "operationId": "GetPublicSystemInfo",
                "responses": {
                    "200": {
                        "description": "Information retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PublicSystemInfo"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PublicSystemInfo"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PublicSystemInfo"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/System/Logs": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "Gets a list of available server log files.",
                "operationId": "GetServerLogs",
                "responses": {
                    "200": {
                        "description": "Information retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/LogFile"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/LogFile"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/LogFile"
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have permission to get server logs.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/System/Logs/Log": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "Gets a log file.",
                "operationId": "GetLogFile",
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The name of the log file to get.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Log file retrieved.",
                        "content": {
                            "text/plain": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "User does not have permission to get log files.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Could not find a log file with the name.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/System/Ping": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "Pings the system.",
                "operationId": "GetPingSystem",
                "responses": {
                    "200": {
                        "description": "Information retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "System"
                ],
                "summary": "Pings the system.",
                "operationId": "PostPingSystem",
                "responses": {
                    "200": {
                        "description": "Information retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/System/Restart": {
            "post": {
                "tags": [
                    "System"
                ],
                "summary": "Restarts the application.",
                "operationId": "RestartApplication",
                "responses": {
                    "204": {
                        "description": "Server restarted."
                    },
                    "403": {
                        "description": "User does not have permission to restart server.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "LocalAccessOrRequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/System/Shutdown": {
            "post": {
                "tags": [
                    "System"
                ],
                "summary": "Shuts down the application.",
                "operationId": "ShutdownApplication",
                "responses": {
                    "204": {
                        "description": "Server shut down."
                    },
                    "403": {
                        "description": "User does not have permission to shutdown server.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/System/WakeOnLanInfo": {
            "get": {
                "tags": [
                    "System"
                ],
                "summary": "Gets wake on lan information.",
                "operationId": "GetWakeOnLanInfo",
                "responses": {
                    "200": {
                        "description": "Information retrieved.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/WakeOnLanInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/WakeOnLanInfo"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/WakeOnLanInfo"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "deprecated": true,
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/GetUtcTime": {
            "get": {
                "tags": [
                    "TimeSync"
                ],
                "summary": "Gets the current UTC time.",
                "operationId": "GetUtcTime",
                "responses": {
                    "200": {
                        "description": "Time returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UtcTimeResponse"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UtcTimeResponse"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UtcTimeResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Tmdb/ClientConfiguration": {
            "get": {
                "tags": [
                    "Tmdb"
                ],
                "summary": "Gets the TMDb image configuration options.",
                "operationId": "TmdbClientConfiguration",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConfigImageTypes"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Trailers": {
            "get": {
                "tags": [
                    "Trailers"
                ],
                "summary": "Finds movies and trailers similar to a given trailer.",
                "operationId": "GetTrailers",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id supplied as query parameter; this is required when not using an API key.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "maxOfficialRating",
                        "in": "query",
                        "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "hasThemeSong",
                        "in": "query",
                        "description": "Optional filter by items with theme songs.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasThemeVideo",
                        "in": "query",
                        "description": "Optional filter by items with theme videos.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasSubtitles",
                        "in": "query",
                        "description": "Optional filter by items with subtitles.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasSpecialFeature",
                        "in": "query",
                        "description": "Optional filter by items with special features.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasTrailer",
                        "in": "query",
                        "description": "Optional filter by items with trailers.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "adjacentTo",
                        "in": "query",
                        "description": "Optional. Return items that are siblings of a supplied item.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "parentIndexNumber",
                        "in": "query",
                        "description": "Optional filter by parent index number.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "hasParentalRating",
                        "in": "query",
                        "description": "Optional filter by items that have or do not have a parental rating.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isHd",
                        "in": "query",
                        "description": "Optional filter by items that are HD or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "is4K",
                        "in": "query",
                        "description": "Optional filter by items that are 4K or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "locationTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/LocationType"
                            }
                        }
                    },
                    {
                        "name": "excludeLocationTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/LocationType"
                            }
                        }
                    },
                    {
                        "name": "isMissing",
                        "in": "query",
                        "description": "Optional filter by items that are missing episodes or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isUnaired",
                        "in": "query",
                        "description": "Optional filter by items that are unaired episodes or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "minCommunityRating",
                        "in": "query",
                        "description": "Optional filter by minimum community rating.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "minCriticRating",
                        "in": "query",
                        "description": "Optional filter by minimum critic rating.",
                        "schema": {
                            "type": "number",
                            "format": "double"
                        }
                    },
                    {
                        "name": "minPremiereDate",
                        "in": "query",
                        "description": "Optional. The minimum premiere date. Format = ISO.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "minDateLastSaved",
                        "in": "query",
                        "description": "Optional. The minimum last saved date. Format = ISO.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "minDateLastSavedForUser",
                        "in": "query",
                        "description": "Optional. The minimum last saved date for the current user. Format = ISO.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "maxPremiereDate",
                        "in": "query",
                        "description": "Optional. The maximum premiere date. Format = ISO.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "hasOverview",
                        "in": "query",
                        "description": "Optional filter by items that have an overview or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasImdbId",
                        "in": "query",
                        "description": "Optional filter by items that have an IMDb id or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasTmdbId",
                        "in": "query",
                        "description": "Optional filter by items that have a TMDb id or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasTvdbId",
                        "in": "query",
                        "description": "Optional filter by items that have a TVDb id or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isMovie",
                        "in": "query",
                        "description": "Optional filter for live tv movies.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSeries",
                        "in": "query",
                        "description": "Optional filter for live tv series.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isNews",
                        "in": "query",
                        "description": "Optional filter for live tv news.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isKids",
                        "in": "query",
                        "description": "Optional filter for live tv kids.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isSports",
                        "in": "query",
                        "description": "Optional filter for live tv sports.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "excludeItemIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "When searching within folders, this determines whether or not the search will be recursive. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "searchTerm",
                        "in": "query",
                        "description": "Optional. Filter based on a search term.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Sort Order - Ascending, Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "filters",
                        "in": "query",
                        "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFilter"
                            }
                        }
                    },
                    {
                        "name": "isFavorite",
                        "in": "query",
                        "description": "Optional filter by items that are marked as favorite, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "mediaTypes",
                        "in": "query",
                        "description": "Optional filter by MediaType. Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    },
                    {
                        "name": "imageTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "isPlayed",
                        "in": "query",
                        "description": "Optional filter by items that are played, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "genres",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "officialRatings",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "years",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int32"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional, include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional, the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "person",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified person.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "personIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified person id.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "personTypes",
                        "in": "query",
                        "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "studios",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "artists",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "excludeArtistIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "artistIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified artist id.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "albumArtistIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified album artist id.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "contributingArtistIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered to include only those containing the specified contributing artist id.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "albums",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "albumIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "videoTypes",
                        "in": "query",
                        "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/VideoType"
                            }
                        }
                    },
                    {
                        "name": "minOfficialRating",
                        "in": "query",
                        "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "isLocked",
                        "in": "query",
                        "description": "Optional filter by items that are locked.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isPlaceHolder",
                        "in": "query",
                        "description": "Optional filter by items that are placeholders.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "hasOfficialRating",
                        "in": "query",
                        "description": "Optional filter by items that have official ratings.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "collapseBoxSetItems",
                        "in": "query",
                        "description": "Whether or not to hide items behind their boxsets.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "minWidth",
                        "in": "query",
                        "description": "Optional. Filter by the minimum width of the item.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minHeight",
                        "in": "query",
                        "description": "Optional. Filter by the minimum height of the item.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. Filter by the maximum width of the item.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. Filter by the maximum height of the item.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "is3D",
                        "in": "query",
                        "description": "Optional filter by items that are 3D, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "seriesStatus",
                        "in": "query",
                        "description": "Optional filter by Series Status. Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SeriesStatus"
                            }
                        }
                    },
                    {
                        "name": "nameStartsWithOrGreater",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameStartsWith",
                        "in": "query",
                        "description": "Optional filter by items whose name is sorted equally than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "nameLessThan",
                        "in": "query",
                        "description": "Optional filter by items whose name is equally or lesser than a given input string.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "studioIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "genreIds",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Optional. Enable the total record count.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional, include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/Trickplay/{width}/{index}.jpg": {
            "get": {
                "tags": [
                    "Trickplay"
                ],
                "summary": "Gets a trickplay tile image.",
                "operationId": "GetTrickplayTileImage",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "width",
                        "in": "path",
                        "description": "The width of a single tile.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "index",
                        "in": "path",
                        "description": "The index of the desired tile.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if using an alternate version.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tile image not found at specified index.",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/Trickplay/{width}/tiles.m3u8": {
            "get": {
                "tags": [
                    "Trickplay"
                ],
                "summary": "Gets an image tiles playlist for trickplay.",
                "operationId": "GetTrickplayHlsPlaylist",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "width",
                        "in": "path",
                        "description": "The width of a single tile.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if using an alternate version.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tiles playlist returned.",
                        "content": {
                            "application/x-mpegURL": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Shows/{seriesId}/Episodes": {
            "get": {
                "tags": [
                    "TvShows"
                ],
                "summary": "Gets episodes for a tv season.",
                "operationId": "GetEpisodes",
                "parameters": [
                    {
                        "name": "seriesId",
                        "in": "path",
                        "description": "The series id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "description": "Optional filter by season number.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "seasonId",
                        "in": "query",
                        "description": "Optional. Filter by season id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "isMissing",
                        "in": "query",
                        "description": "Optional. Filter by items that are missing episodes or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "adjacentTo",
                        "in": "query",
                        "description": "Optional. Return items that are siblings of a supplied item.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startItemId",
                        "in": "query",
                        "description": "Optional. Skip through the list until a given item is found.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional, include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional, the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime.",
                        "schema": {
                            "enum": [
                                "Default",
                                "AiredEpisodeOrder",
                                "Album",
                                "AlbumArtist",
                                "Artist",
                                "DateCreated",
                                "OfficialRating",
                                "DatePlayed",
                                "PremiereDate",
                                "StartDate",
                                "SortName",
                                "Name",
                                "Random",
                                "Runtime",
                                "CommunityRating",
                                "ProductionYear",
                                "PlayCount",
                                "CriticRating",
                                "IsFolder",
                                "IsUnplayed",
                                "IsPlayed",
                                "SeriesSortName",
                                "VideoBitRate",
                                "AirTime",
                                "Studio",
                                "IsFavoriteOrLiked",
                                "DateLastContentAdded",
                                "SeriesDatePlayed",
                                "ParentIndexNumber",
                                "IndexNumber",
                                "SimilarityScore",
                                "SearchScore"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/ItemSortBy"
                                }
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Shows/{seriesId}/Seasons": {
            "get": {
                "tags": [
                    "TvShows"
                ],
                "summary": "Gets seasons for a tv series.",
                "operationId": "GetSeasons",
                "parameters": [
                    {
                        "name": "seriesId",
                        "in": "path",
                        "description": "The series id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "isSpecialSeason",
                        "in": "query",
                        "description": "Optional. Filter by special season.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isMissing",
                        "in": "query",
                        "description": "Optional. Filter by items that are missing episodes or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "adjacentTo",
                        "in": "query",
                        "description": "Optional. Return items that are siblings of a supplied item.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Shows/NextUp": {
            "get": {
                "tags": [
                    "TvShows"
                ],
                "summary": "Gets a list of next up episodes.",
                "operationId": "GetNextUp",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id of the user to get the next up episodes for.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "seriesId",
                        "in": "query",
                        "description": "Optional. Filter by series id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "nextUpDateCutoff",
                        "in": "query",
                        "description": "Optional. Starting date of shows to show in Next Up section.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "enableTotalRecordCount",
                        "in": "query",
                        "description": "Whether to enable the total records count. Defaults to true.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "disableFirstEpisode",
                        "in": "query",
                        "description": "Whether to disable sending the first episode in a series as next up.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "enableResumable",
                        "in": "query",
                        "description": "Whether to include resumable episodes in next up results.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableRewatching",
                        "in": "query",
                        "description": "Whether to include watched episodes in next up results.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Shows/Upcoming": {
            "get": {
                "tags": [
                    "TvShows"
                ],
                "summary": "Gets a list of upcoming episodes.",
                "operationId": "GetUpcomingEpisodes",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id of the user to get the upcoming episodes for.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Audio/{itemId}/universal": {
            "get": {
                "tags": [
                    "UniversalAudio"
                ],
                "summary": "Gets an audio stream.",
                "operationId": "GetUniversalAudioStream",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "query",
                        "description": "Optional. The audio container.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. The audio codec to transcode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "transcodingAudioChannels",
                        "in": "query",
                        "description": "Optional. The number of how many audio channels to transcode to.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxStreamingBitrate",
                        "in": "query",
                        "description": "Optional. The maximum streaming bitrate.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "transcodingContainer",
                        "in": "query",
                        "description": "Optional. The container to transcode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodingProtocol",
                        "in": "query",
                        "description": "Optional. The transcoding protocol.",
                        "schema": {
                            "enum": [
                                "http",
                                "hls"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/MediaStreamProtocol"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxAudioSampleRate",
                        "in": "query",
                        "description": "Optional. The maximum audio sample rate.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableRemoteMedia",
                        "in": "query",
                        "description": "Optional. Whether to enable remote media.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "enableRedirection",
                        "in": "query",
                        "description": "Whether to enable redirection. Defaults to true.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio stream returned.",
                        "content": {
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "302": {
                        "description": "Redirected to remote audio stream."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "head": {
                "tags": [
                    "UniversalAudio"
                ],
                "summary": "Gets an audio stream.",
                "operationId": "HeadUniversalAudioStream",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "query",
                        "description": "Optional. The audio container.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. The audio codec to transcode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "transcodingAudioChannels",
                        "in": "query",
                        "description": "Optional. The number of how many audio channels to transcode to.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxStreamingBitrate",
                        "in": "query",
                        "description": "Optional. The maximum streaming bitrate.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "transcodingContainer",
                        "in": "query",
                        "description": "Optional. The container to transcode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodingProtocol",
                        "in": "query",
                        "description": "Optional. The transcoding protocol.",
                        "schema": {
                            "enum": [
                                "http",
                                "hls"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/MediaStreamProtocol"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxAudioSampleRate",
                        "in": "query",
                        "description": "Optional. The maximum audio sample rate.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableRemoteMedia",
                        "in": "query",
                        "description": "Optional. Whether to enable remote media.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    {
                        "name": "enableRedirection",
                        "in": "query",
                        "description": "Whether to enable redirection. Defaults to true.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio stream returned.",
                        "content": {
                            "audio/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "302": {
                        "description": "Redirected to remote audio stream."
                    },
                    "404": {
                        "description": "Item not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Users": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Gets a list of users.",
                "operationId": "GetUsers",
                "parameters": [
                    {
                        "name": "isHidden",
                        "in": "query",
                        "description": "Optional filter by IsHidden=true or false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "isDisabled",
                        "in": "query",
                        "description": "Optional filter by IsDisabled=true or false.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Users returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/UserDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/UserDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/UserDto"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Updates a user.",
                "operationId": "UpdateUser",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The updated user model.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UserDto"
                                    }
                                ],
                                "description": "Class UserDto."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UserDto"
                                    }
                                ],
                                "description": "Class UserDto."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UserDto"
                                    }
                                ],
                                "description": "Class UserDto."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "User updated."
                    },
                    "400": {
                        "description": "User information was not supplied.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "User update forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Users/{userId}": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Gets a user by Id.",
                "operationId": "GetUserById",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "path",
                        "description": "The user id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "User not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "IgnoreParentalControl",
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "User"
                ],
                "summary": "Deletes a user.",
                "operationId": "DeleteUser",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "path",
                        "description": "The user id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "User deleted."
                    },
                    "404": {
                        "description": "User not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Users/{userId}/Policy": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Updates a user policy.",
                "operationId": "UpdateUserPolicy",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "path",
                        "description": "The user id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The new user policy.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UserPolicy"
                                    }
                                ]
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UserPolicy"
                                    }
                                ]
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UserPolicy"
                                    }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "User policy updated."
                    },
                    "400": {
                        "description": "User policy was not supplied.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "User policy update forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Users/AuthenticateByName": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Authenticates a user by name.",
                "operationId": "AuthenticateUserByName",
                "requestBody": {
                    "description": "The M:Jellyfin.Api.Controllers.UserController.AuthenticateUserByName(Jellyfin.Api.Models.UserDtos.AuthenticateUserByName) request.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/AuthenticateUserByName"
                                    }
                                ],
                                "description": "The authenticate user by name request body."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/AuthenticateUserByName"
                                    }
                                ],
                                "description": "The authenticate user by name request body."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/AuthenticateUserByName"
                                    }
                                ],
                                "description": "The authenticate user by name request body."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "User authenticated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthenticationResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthenticationResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthenticationResult"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Users/AuthenticateWithQuickConnect": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Authenticates a user with quick connect.",
                "operationId": "AuthenticateWithQuickConnect",
                "requestBody": {
                    "description": "The Jellyfin.Api.Models.UserDtos.QuickConnectDto request.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/QuickConnectDto"
                                    }
                                ],
                                "description": "The quick connect request body."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/QuickConnectDto"
                                    }
                                ],
                                "description": "The quick connect request body."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/QuickConnectDto"
                                    }
                                ],
                                "description": "The quick connect request body."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "User authenticated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthenticationResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthenticationResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthenticationResult"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Missing token."
                    }
                }
            }
        },
        "/Users/Configuration": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Updates a user configuration.",
                "operationId": "UpdateUserConfiguration",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The new user configuration.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UserConfiguration"
                                    }
                                ],
                                "description": "Class UserConfiguration."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UserConfiguration"
                                    }
                                ],
                                "description": "Class UserConfiguration."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UserConfiguration"
                                    }
                                ],
                                "description": "Class UserConfiguration."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "User configuration updated."
                    },
                    "403": {
                        "description": "User configuration update forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Users/ForgotPassword": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Initiates the forgot password process for a local user.",
                "operationId": "ForgotPassword",
                "requestBody": {
                    "description": "The forgot password request containing the entered username.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ForgotPasswordDto"
                                    }
                                ],
                                "description": "Forgot Password request body DTO."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ForgotPasswordDto"
                                    }
                                ],
                                "description": "Forgot Password request body DTO."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ForgotPasswordDto"
                                    }
                                ],
                                "description": "Forgot Password request body DTO."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Password reset process started.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ForgotPasswordResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ForgotPasswordResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ForgotPasswordResult"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Users/ForgotPassword/Pin": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Redeems a forgot password pin.",
                "operationId": "ForgotPasswordPin",
                "requestBody": {
                    "description": "The forgot password pin request containing the entered pin.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ForgotPasswordPinDto"
                                    }
                                ],
                                "description": "Forgot Password Pin enter request body DTO."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ForgotPasswordPinDto"
                                    }
                                ],
                                "description": "Forgot Password Pin enter request body DTO."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ForgotPasswordPinDto"
                                    }
                                ],
                                "description": "Forgot Password Pin enter request body DTO."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Pin reset process started.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PinRedeemResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PinRedeemResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/PinRedeemResult"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Users/Me": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Gets the user based on auth token.",
                "operationId": "GetCurrentUser",
                "responses": {
                    "200": {
                        "description": "User returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDto"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Token is not owned by a user.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Users/New": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Creates a user.",
                "operationId": "CreateUserByName",
                "requestBody": {
                    "description": "The create user by name request body.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/CreateUserByName"
                                    }
                                ],
                                "description": "The create user by name request body."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/CreateUserByName"
                                    }
                                ],
                                "description": "The create user by name request body."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/CreateUserByName"
                                    }
                                ],
                                "description": "The create user by name request body."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "User created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Users/Password": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Updates a user's password.",
                "operationId": "UpdateUserPassword",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "The user id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The M:Jellyfin.Api.Controllers.UserController.UpdateUserPassword(System.Nullable{System.Guid},Jellyfin.Api.Models.UserDtos.UpdateUserPassword) request.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateUserPassword"
                                    }
                                ],
                                "description": "The update user password request body."
                            }
                        },
                        "text/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateUserPassword"
                                    }
                                ],
                                "description": "The update user password request body."
                            }
                        },
                        "application/*+json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/UpdateUserPassword"
                                    }
                                ],
                                "description": "The update user password request body."
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Password successfully reset."
                    },
                    "403": {
                        "description": "User is not allowed to update the password.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "User not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Users/Public": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Gets a list of publicly visible users for display on a login screen.",
                "operationId": "GetPublicUsers",
                "responses": {
                    "200": {
                        "description": "Public users returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/UserDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/UserDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/UserDto"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Items/{itemId}/Intros": {
            "get": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Gets intros to play before the main media item plays.",
                "operationId": "GetIntros",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Intros returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/LocalTrailers": {
            "get": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Gets local trailers for an item.",
                "operationId": "GetLocalTrailers",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An Microsoft.AspNetCore.Mvc.OkResult containing the item's local trailers.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/{itemId}/SpecialFeatures": {
            "get": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Gets special features for an item.",
                "operationId": "GetSpecialFeatures",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Special features returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/Latest": {
            "get": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Gets latest media.",
                "operationId": "GetLatestMedia",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "isPlayed",
                        "in": "query",
                        "description": "Filter by items that are played, or not.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. include image information in output.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. the max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Return item limit.",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 20
                        }
                    },
                    {
                        "name": "groupItems",
                        "in": "query",
                        "description": "Whether or not to group items into a parent container.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Latest media returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BaseItemDto"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Items/Root": {
            "get": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Gets the root folder from a user's library.",
                "operationId": "GetRootFolder",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Root folder returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/UserFavoriteItems/{itemId}": {
            "post": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Marks an item as a favorite.",
                "operationId": "MarkFavoriteItem",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item marked as favorite.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Unmarks item as a favorite.",
                "operationId": "UnmarkFavoriteItem",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item unmarked as favorite.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/UserItems/{itemId}/Rating": {
            "delete": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Deletes a user's saved personal rating for an item.",
                "operationId": "DeleteUserItemRating",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Personal rating removed.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            },
            "post": {
                "tags": [
                    "UserLibrary"
                ],
                "summary": "Updates a user's rating for an item.",
                "operationId": "UpdateUserItemRating",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "Item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "likes",
                        "in": "query",
                        "description": "Whether this M:Jellyfin.Api.Controllers.UserLibraryController.UpdateUserItemRating(System.Nullable{System.Guid},System.Guid,System.Nullable{System.Boolean}) is likes.",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Item rating updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserItemDataDto"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/UserViews": {
            "get": {
                "tags": [
                    "UserViews"
                ],
                "summary": "Get user views.",
                "operationId": "GetUserViews",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "includeExternalContent",
                        "in": "query",
                        "description": "Whether or not to include external views such as channels or live tv.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "presetViews",
                        "in": "query",
                        "description": "Preset views.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/CollectionType"
                            }
                        }
                    },
                    {
                        "name": "includeHidden",
                        "in": "query",
                        "description": "Whether or not to include hidden content.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User views returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/UserViews/GroupingOptions": {
            "get": {
                "tags": [
                    "UserViews"
                ],
                "summary": "Get user view grouping options.",
                "operationId": "GetGroupingOptions",
                "parameters": [
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User view grouping options returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/SpecialViewOptionDto"
                                    }
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/SpecialViewOptionDto"
                                    }
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/SpecialViewOptionDto"
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "User not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{videoId}/{mediaSourceId}/Attachments/{index}": {
            "get": {
                "tags": [
                    "VideoAttachments"
                ],
                "summary": "Get video attachment.",
                "operationId": "GetAttachment",
                "parameters": [
                    {
                        "name": "videoId",
                        "in": "path",
                        "description": "Video ID.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "path",
                        "description": "Media Source ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "index",
                        "in": "path",
                        "description": "Attachment Index.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Attachment retrieved.",
                        "content": {
                            "application/octet-stream": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Video or attachment not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Videos/{itemId}/AdditionalParts": {
            "get": {
                "tags": [
                    "Videos"
                ],
                "summary": "Gets additional parts for a video.",
                "operationId": "GetAdditionalPart",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Additional parts returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/AlternateSources": {
            "delete": {
                "tags": [
                    "Videos"
                ],
                "summary": "Removes alternate video sources.",
                "operationId": "DeleteAlternateSources",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Alternate sources deleted."
                    },
                    "404": {
                        "description": "Video not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Videos/{itemId}/stream": {
            "get": {
                "tags": [
                    "Videos"
                ],
                "summary": "Gets a video stream.",
                "operationId": "GetVideoStream",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "query",
                        "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. The maximum horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. The maximum vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Video stream returned.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Videos"
                ],
                "summary": "Gets a video stream.",
                "operationId": "HeadVideoStream",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "query",
                        "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "deprecated": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. The maximum horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. The maximum vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Video stream returned.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Videos/{itemId}/stream.{container}": {
            "get": {
                "tags": [
                    "Videos"
                ],
                "summary": "Gets a video stream.",
                "operationId": "GetVideoStreamByContainer",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "path",
                        "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.",
                        "required": true,
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. The maximum horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. The maximum vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Video stream returned.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            },
            "head": {
                "tags": [
                    "Videos"
                ],
                "summary": "Gets a video stream.",
                "operationId": "HeadVideoStreamByContainer",
                "parameters": [
                    {
                        "name": "itemId",
                        "in": "path",
                        "description": "The item id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "container",
                        "in": "path",
                        "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.",
                        "required": true,
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "static",
                        "in": "query",
                        "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "params",
                        "in": "query",
                        "description": "The streaming parameters.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "tag",
                        "in": "query",
                        "description": "The tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceProfileId",
                        "in": "query",
                        "description": "Optional. The dlna device profile id to utilize.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "playSessionId",
                        "in": "query",
                        "description": "The play session id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentContainer",
                        "in": "query",
                        "description": "The segment container.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "segmentLength",
                        "in": "query",
                        "description": "The segment length.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "minSegments",
                        "in": "query",
                        "description": "The minimum number of segments.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "mediaSourceId",
                        "in": "query",
                        "description": "The media version id, if playing an alternate version.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "deviceId",
                        "in": "query",
                        "description": "The device id of the client requesting. Used to stop encoding processes when needed.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioCodec",
                        "in": "query",
                        "description": "Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableAutoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowVideoStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the video stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "allowAudioStreamCopy",
                        "in": "query",
                        "description": "Whether or not to allow copying of the audio stream url.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "breakOnNonKeyFrames",
                        "in": "query",
                        "description": "Optional. Whether to break on non key frames.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "audioSampleRate",
                        "in": "query",
                        "description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum audio bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioBitRate",
                        "in": "query",
                        "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "audioChannels",
                        "in": "query",
                        "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxAudioChannels",
                        "in": "query",
                        "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "profile",
                        "in": "query",
                        "description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
                        "schema": {
                            "pattern": "-?[0-9]+(?:\\.[0-9]+)?",
                            "type": "string"
                        }
                    },
                    {
                        "name": "framerate",
                        "in": "query",
                        "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "maxFramerate",
                        "in": "query",
                        "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
                        "schema": {
                            "type": "number",
                            "format": "float"
                        }
                    },
                    {
                        "name": "copyTimestamps",
                        "in": "query",
                        "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "startTimeTicks",
                        "in": "query",
                        "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "name": "width",
                        "in": "query",
                        "description": "Optional. The fixed horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "height",
                        "in": "query",
                        "description": "Optional. The fixed vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxWidth",
                        "in": "query",
                        "description": "Optional. The maximum horizontal resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxHeight",
                        "in": "query",
                        "description": "Optional. The maximum vertical resolution of the encoded video.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoBitRate",
                        "in": "query",
                        "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "subtitleMethod",
                        "in": "query",
                        "description": "Optional. Specify the subtitle delivery method.",
                        "schema": {
                            "enum": [
                                "Encode",
                                "Embed",
                                "External",
                                "Hls",
                                "Drop"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                                }
                            ]
                        }
                    },
                    {
                        "name": "maxRefFrames",
                        "in": "query",
                        "description": "Optional.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "maxVideoBitDepth",
                        "in": "query",
                        "description": "Optional. The maximum video bit depth.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "requireAvc",
                        "in": "query",
                        "description": "Optional. Whether to require avc.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "deInterlace",
                        "in": "query",
                        "description": "Optional. Whether to deinterlace the video.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "requireNonAnamorphic",
                        "in": "query",
                        "description": "Optional. Whether to require a non anamorphic stream.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "transcodingMaxAudioChannels",
                        "in": "query",
                        "description": "Optional. The maximum number of audio channels to transcode.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "cpuCoreLimit",
                        "in": "query",
                        "description": "Optional. The limit of how many cpu cores to use.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "liveStreamId",
                        "in": "query",
                        "description": "The live stream id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "enableMpegtsM2TsMode",
                        "in": "query",
                        "description": "Optional. Whether to enable the MpegtsM2Ts mode.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "videoCodec",
                        "in": "query",
                        "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "subtitleCodec",
                        "in": "query",
                        "description": "Optional. Specify a subtitle codec to encode to.",
                        "schema": {
                            "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$",
                            "type": "string"
                        }
                    },
                    {
                        "name": "transcodeReasons",
                        "in": "query",
                        "description": "Optional. The transcoding reason.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "audioStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "videoStreamIndex",
                        "in": "query",
                        "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "context",
                        "in": "query",
                        "description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
                        "schema": {
                            "enum": [
                                "Streaming",
                                "Static"
                            ],
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/EncodingContext"
                                }
                            ]
                        }
                    },
                    {
                        "name": "streamOptions",
                        "in": "query",
                        "description": "Optional. The streaming options.",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    {
                        "name": "enableAudioVbrEncoding",
                        "in": "query",
                        "description": "Optional. Whether to enable Audio Encoding.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Video stream returned.",
                        "content": {
                            "video/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/Videos/MergeVersions": {
            "post": {
                "tags": [
                    "Videos"
                ],
                "summary": "Merges videos into a single record.",
                "operationId": "MergeVersions",
                "parameters": [
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "Item id list. This allows multiple, comma delimited.",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "format": "uuid"
                            }
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Videos merged."
                    },
                    "400": {
                        "description": "Supply at least 2 video ids.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "RequiresElevation"
                        ]
                    }
                ]
            }
        },
        "/Years": {
            "get": {
                "tags": [
                    "Years"
                ],
                "summary": "Get years.",
                "operationId": "GetYears",
                "parameters": [
                    {
                        "name": "startIndex",
                        "in": "query",
                        "description": "Skips over a given number of items within the results. Use for paging.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional. The maximum number of records to return.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "sortOrder",
                        "in": "query",
                        "description": "Sort Order - Ascending,Descending.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        }
                    },
                    {
                        "name": "parentId",
                        "in": "query",
                        "description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Optional. Specify additional fields of information to return in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemFields"
                            }
                        }
                    },
                    {
                        "name": "excludeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be excluded based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "includeItemTypes",
                        "in": "query",
                        "description": "Optional. If specified, results will be included based on item type. This allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        }
                    },
                    {
                        "name": "mediaTypes",
                        "in": "query",
                        "description": "Optional. Filter by MediaType. Allows multiple, comma delimited.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        }
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ItemSortBy"
                            }
                        }
                    },
                    {
                        "name": "enableUserData",
                        "in": "query",
                        "description": "Optional. Include user data.",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "imageTypeLimit",
                        "in": "query",
                        "description": "Optional. The max number of images to return, per image type.",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "enableImageTypes",
                        "in": "query",
                        "description": "Optional. The image types to include in the output.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "User Id.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "Search recursively.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    },
                    {
                        "name": "enableImages",
                        "in": "query",
                        "description": "Optional. Include image information in output.",
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Year query returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDtoQueryResult"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        },
        "/Years/{year}": {
            "get": {
                "tags": [
                    "Years"
                ],
                "summary": "Gets a year.",
                "operationId": "GetYear",
                "parameters": [
                    {
                        "name": "year",
                        "in": "path",
                        "description": "The year.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "userId",
                        "in": "query",
                        "description": "Optional. Filter by user id, and attach user data.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Year returned.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/BaseItemDto"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Year not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"CamelCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            },
                            "application/json; profile=\"PascalCase\"": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProblemDetails"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "security": [
                    {
                        "CustomAuthentication": [
                            "DefaultAuthorization"
                        ]
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "AccessSchedule": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "integer",
                        "description": "Gets the id of this instance.",
                        "format": "int32",
                        "readOnly": true
                    },
                    "UserId": {
                        "type": "string",
                        "description": "Gets the id of the associated user.",
                        "format": "uuid"
                    },
                    "DayOfWeek": {
                        "enum": [
                            "Sunday",
                            "Monday",
                            "Tuesday",
                            "Wednesday",
                            "Thursday",
                            "Friday",
                            "Saturday",
                            "Everyday",
                            "Weekday",
                            "Weekend"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DynamicDayOfWeek"
                            }
                        ],
                        "description": "Gets or sets the day of week."
                    },
                    "StartHour": {
                        "type": "number",
                        "description": "Gets or sets the start hour.",
                        "format": "double"
                    },
                    "EndHour": {
                        "type": "number",
                        "description": "Gets or sets the end hour.",
                        "format": "double"
                    }
                },
                "additionalProperties": false,
                "description": "An entity representing a user's access schedule."
            },
            "ActivityLogEntry": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "integer",
                        "description": "Gets or sets the identifier.",
                        "format": "int64"
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name."
                    },
                    "Overview": {
                        "type": "string",
                        "description": "Gets or sets the overview.",
                        "nullable": true
                    },
                    "ShortOverview": {
                        "type": "string",
                        "description": "Gets or sets the short overview.",
                        "nullable": true
                    },
                    "Type": {
                        "type": "string",
                        "description": "Gets or sets the type."
                    },
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the item identifier.",
                        "nullable": true
                    },
                    "Date": {
                        "type": "string",
                        "description": "Gets or sets the date.",
                        "format": "date-time"
                    },
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets the user identifier.",
                        "format": "uuid"
                    },
                    "UserPrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the user primary image tag.",
                        "nullable": true,
                        "deprecated": true
                    },
                    "Severity": {
                        "enum": [
                            "Trace",
                            "Debug",
                            "Information",
                            "Warning",
                            "Error",
                            "Critical",
                            "None"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LogLevel"
                            }
                        ],
                        "description": "Gets or sets the log severity."
                    }
                },
                "additionalProperties": false,
                "description": "An activity log entry."
            },
            "ActivityLogEntryMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ActivityLogEntry"
                        },
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ActivityLogEntry",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Activity log created message."
            },
            "ActivityLogEntryQueryResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ActivityLogEntry"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Query result container."
            },
            "ActivityLogEntryStartMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "type": "string",
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ActivityLogEntryStart",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Activity log entry start message.\r\nData is the timing data encoded as \"$initialDelay,$interval\" in ms."
            },
            "ActivityLogEntryStopMessage": {
                "type": "object",
                "properties": {
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ActivityLogEntryStop",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Activity log entry stop message."
            },
            "AddVirtualFolderDto": {
                "type": "object",
                "properties": {
                    "LibraryOptions": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LibraryOptions"
                            }
                        ],
                        "description": "Gets or sets library options.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Add virtual folder dto."
            },
            "AlbumInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    },
                    "AlbumArtists": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the album artist."
                    },
                    "ArtistProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the artist provider ids."
                    },
                    "SongInfos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SongInfo"
                        }
                    }
                },
                "additionalProperties": false
            },
            "AlbumInfoRemoteSearchQuery": {
                "type": "object",
                "properties": {
                    "SearchInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/AlbumInfo"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "description": "Gets or sets the provider name to search within if set.",
                        "nullable": true
                    },
                    "IncludeDisabledProviders": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether disabled providers should be included."
                    }
                },
                "additionalProperties": false
            },
            "AllThemeMediaResult": {
                "type": "object",
                "properties": {
                    "ThemeVideosResult": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ThemeMediaResult"
                            }
                        ],
                        "description": "Class ThemeMediaResult.",
                        "nullable": true
                    },
                    "ThemeSongsResult": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ThemeMediaResult"
                            }
                        ],
                        "description": "Class ThemeMediaResult.",
                        "nullable": true
                    },
                    "SoundtrackSongsResult": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ThemeMediaResult"
                            }
                        ],
                        "description": "Class ThemeMediaResult.",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "ApiName": {
                "enum": [
                    "Mal",
                    "AniList",
                    "Kitsu",
                    "Annict",
                    "Shikimori",
                    "Simkl"
                ],
                "type": "string"
            },
            "ArtistInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    },
                    "SongInfos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SongInfo"
                        }
                    }
                },
                "additionalProperties": false
            },
            "ArtistInfoRemoteSearchQuery": {
                "type": "object",
                "properties": {
                    "SearchInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ArtistInfo"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "description": "Gets or sets the provider name to search within if set.",
                        "nullable": true
                    },
                    "IncludeDisabledProviders": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether disabled providers should be included."
                    }
                },
                "additionalProperties": false
            },
            "AudioSpatialFormat": {
                "enum": [
                    "None",
                    "DolbyAtmos",
                    "DTSX"
                ],
                "type": "string",
                "description": "An enum representing formats of spatial audio."
            },
            "AuthenticateUserByName": {
                "type": "object",
                "properties": {
                    "Username": {
                        "type": "string",
                        "description": "Gets or sets the username.",
                        "nullable": true
                    },
                    "Pw": {
                        "type": "string",
                        "description": "Gets or sets the plain text password.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "The authenticate user by name request body."
            },
            "AuthenticationInfo": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "integer",
                        "description": "Gets or sets the identifier.",
                        "format": "int64"
                    },
                    "AccessToken": {
                        "type": "string",
                        "description": "Gets or sets the access token.",
                        "nullable": true
                    },
                    "DeviceId": {
                        "type": "string",
                        "description": "Gets or sets the device identifier.",
                        "nullable": true
                    },
                    "AppName": {
                        "type": "string",
                        "description": "Gets or sets the name of the application.",
                        "nullable": true
                    },
                    "AppVersion": {
                        "type": "string",
                        "description": "Gets or sets the application version.",
                        "nullable": true
                    },
                    "DeviceName": {
                        "type": "string",
                        "description": "Gets or sets the name of the device.",
                        "nullable": true
                    },
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets the user identifier.",
                        "format": "uuid"
                    },
                    "IsActive": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is active."
                    },
                    "DateCreated": {
                        "type": "string",
                        "description": "Gets or sets the date created.",
                        "format": "date-time"
                    },
                    "DateRevoked": {
                        "type": "string",
                        "description": "Gets or sets the date revoked.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "DateLastActivity": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "UserName": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "AuthenticationInfoQueryResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AuthenticationInfo"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Query result container."
            },
            "AuthenticationResult": {
                "type": "object",
                "properties": {
                    "User": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/UserDto"
                            }
                        ],
                        "description": "Class UserDto.",
                        "nullable": true
                    },
                    "SessionInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionInfoDto"
                            }
                        ],
                        "description": "Session info DTO.",
                        "nullable": true
                    },
                    "AccessToken": {
                        "type": "string",
                        "description": "Gets or sets the access token.",
                        "nullable": true
                    },
                    "ServerId": {
                        "type": "string",
                        "description": "Gets or sets the server id.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "A class representing an authentication result."
            },
            "BaseItemDto": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "nullable": true
                    },
                    "ServerId": {
                        "type": "string",
                        "description": "Gets or sets the server identifier.",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the id.",
                        "format": "uuid"
                    },
                    "Etag": {
                        "type": "string",
                        "description": "Gets or sets the etag.",
                        "nullable": true
                    },
                    "SourceType": {
                        "type": "string",
                        "description": "Gets or sets the type of the source.",
                        "nullable": true
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets or sets the playlist item identifier.",
                        "nullable": true
                    },
                    "DateCreated": {
                        "type": "string",
                        "description": "Gets or sets the date created.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "DateLastMediaAdded": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "ExtraType": {
                        "enum": [
                            "Unknown",
                            "Clip",
                            "Trailer",
                            "BehindTheScenes",
                            "DeletedScene",
                            "Interview",
                            "Scene",
                            "Sample",
                            "ThemeSong",
                            "ThemeVideo",
                            "Featurette",
                            "Short"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ExtraType"
                            }
                        ],
                        "nullable": true
                    },
                    "AirsBeforeSeasonNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "AirsAfterSeasonNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "AirsBeforeEpisodeNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "CanDelete": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "CanDownload": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "HasLyrics": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "HasSubtitles": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "PreferredMetadataLanguage": {
                        "type": "string",
                        "nullable": true
                    },
                    "PreferredMetadataCountryCode": {
                        "type": "string",
                        "nullable": true
                    },
                    "Container": {
                        "type": "string",
                        "nullable": true
                    },
                    "SortName": {
                        "type": "string",
                        "description": "Gets or sets the name of the sort.",
                        "nullable": true
                    },
                    "ForcedSortName": {
                        "type": "string",
                        "nullable": true
                    },
                    "Video3DFormat": {
                        "enum": [
                            "HalfSideBySide",
                            "FullSideBySide",
                            "FullTopAndBottom",
                            "HalfTopAndBottom",
                            "MVC"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Video3DFormat"
                            }
                        ],
                        "description": "Gets or sets the video3 D format.",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "description": "Gets or sets the premiere date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "ExternalUrls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ExternalUrl"
                        },
                        "description": "Gets or sets the external urls.",
                        "nullable": true
                    },
                    "MediaSources": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaSourceInfo"
                        },
                        "description": "Gets or sets the media versions.",
                        "nullable": true
                    },
                    "CriticRating": {
                        "type": "number",
                        "description": "Gets or sets the critic rating.",
                        "format": "float",
                        "nullable": true
                    },
                    "ProductionLocations": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "EnableMediaSourceDisplay": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "OfficialRating": {
                        "type": "string",
                        "description": "Gets or sets the official rating.",
                        "nullable": true
                    },
                    "CustomRating": {
                        "type": "string",
                        "description": "Gets or sets the custom rating.",
                        "nullable": true
                    },
                    "ChannelId": {
                        "type": "string",
                        "description": "Gets or sets the channel identifier.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "ChannelName": {
                        "type": "string",
                        "nullable": true
                    },
                    "Overview": {
                        "type": "string",
                        "description": "Gets or sets the overview.",
                        "nullable": true
                    },
                    "Taglines": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the taglines.",
                        "nullable": true
                    },
                    "Genres": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the genres.",
                        "nullable": true
                    },
                    "CommunityRating": {
                        "type": "number",
                        "description": "Gets or sets the community rating.",
                        "format": "float",
                        "nullable": true
                    },
                    "CumulativeRunTimeTicks": {
                        "type": "integer",
                        "description": "Gets or sets the cumulative run time ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "RunTimeTicks": {
                        "type": "integer",
                        "description": "Gets or sets the run time ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "PlayAccess": {
                        "enum": [
                            "Full",
                            "None"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlayAccess"
                            }
                        ],
                        "description": "Gets or sets the play access.",
                        "nullable": true
                    },
                    "AspectRatio": {
                        "type": "string",
                        "description": "Gets or sets the aspect ratio.",
                        "nullable": true
                    },
                    "ProductionYear": {
                        "type": "integer",
                        "description": "Gets or sets the production year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IsPlaceHolder": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is place holder.",
                        "nullable": true
                    },
                    "Number": {
                        "type": "string",
                        "description": "Gets or sets the number.",
                        "nullable": true
                    },
                    "ChannelNumber": {
                        "type": "string",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "description": "Gets or sets the index number.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumberEnd": {
                        "type": "integer",
                        "description": "Gets or sets the index number end.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "description": "Gets or sets the parent index number.",
                        "format": "int32",
                        "nullable": true
                    },
                    "RemoteTrailers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaUrl"
                        },
                        "description": "Gets or sets the trailer urls.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "IsHD": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is HD.",
                        "nullable": true
                    },
                    "IsFolder": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is folder.",
                        "nullable": true
                    },
                    "ParentId": {
                        "type": "string",
                        "description": "Gets or sets the parent id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "Type": {
                        "enum": [
                            "AggregateFolder",
                            "Audio",
                            "AudioBook",
                            "BasePluginFolder",
                            "Book",
                            "BoxSet",
                            "Channel",
                            "ChannelFolderItem",
                            "CollectionFolder",
                            "Episode",
                            "Folder",
                            "Genre",
                            "ManualPlaylistsFolder",
                            "Movie",
                            "LiveTvChannel",
                            "LiveTvProgram",
                            "MusicAlbum",
                            "MusicArtist",
                            "MusicGenre",
                            "MusicVideo",
                            "Person",
                            "Photo",
                            "PhotoAlbum",
                            "Playlist",
                            "PlaylistsFolder",
                            "Program",
                            "Recording",
                            "Season",
                            "Series",
                            "Studio",
                            "Trailer",
                            "TvChannel",
                            "TvProgram",
                            "UserRootFolder",
                            "UserView",
                            "Video",
                            "Year"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        ],
                        "description": "Gets or sets the type."
                    },
                    "People": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BaseItemPerson"
                        },
                        "description": "Gets or sets the people.",
                        "nullable": true
                    },
                    "Studios": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameGuidPair"
                        },
                        "description": "Gets or sets the studios.",
                        "nullable": true
                    },
                    "GenreItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameGuidPair"
                        },
                        "nullable": true
                    },
                    "ParentLogoItemId": {
                        "type": "string",
                        "description": "Gets or sets whether the item has a logo, this will hold the Id of the Parent that has one.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "ParentBackdropItemId": {
                        "type": "string",
                        "description": "Gets or sets whether the item has any backdrops, this will hold the Id of the Parent that has one.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "ParentBackdropImageTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the parent backdrop image tags.",
                        "nullable": true
                    },
                    "LocalTrailerCount": {
                        "type": "integer",
                        "description": "Gets or sets the local trailer count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "UserData": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/UserItemDataDto"
                            }
                        ],
                        "description": "Gets or sets the user data for this item based on the user it's being requested for.",
                        "nullable": true
                    },
                    "RecursiveItemCount": {
                        "type": "integer",
                        "description": "Gets or sets the recursive item count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ChildCount": {
                        "type": "integer",
                        "description": "Gets or sets the child count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SeriesName": {
                        "type": "string",
                        "description": "Gets or sets the name of the series.",
                        "nullable": true
                    },
                    "SeriesId": {
                        "type": "string",
                        "description": "Gets or sets the series id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "SeasonId": {
                        "type": "string",
                        "description": "Gets or sets the season identifier.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "SpecialFeatureCount": {
                        "type": "integer",
                        "description": "Gets or sets the special feature count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "DisplayPreferencesId": {
                        "type": "string",
                        "description": "Gets or sets the display preferences id.",
                        "nullable": true
                    },
                    "Status": {
                        "type": "string",
                        "description": "Gets or sets the status.",
                        "nullable": true
                    },
                    "AirTime": {
                        "type": "string",
                        "description": "Gets or sets the air time.",
                        "nullable": true
                    },
                    "AirDays": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DayOfWeek"
                        },
                        "description": "Gets or sets the air days.",
                        "nullable": true
                    },
                    "Tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the tags.",
                        "nullable": true
                    },
                    "PrimaryImageAspectRatio": {
                        "type": "number",
                        "description": "Gets or sets the primary image aspect ratio, after image enhancements.",
                        "format": "double",
                        "nullable": true
                    },
                    "Artists": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the artists.",
                        "nullable": true
                    },
                    "ArtistItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameGuidPair"
                        },
                        "description": "Gets or sets the artist items.",
                        "nullable": true
                    },
                    "Album": {
                        "type": "string",
                        "description": "Gets or sets the album.",
                        "nullable": true
                    },
                    "CollectionType": {
                        "enum": [
                            "unknown",
                            "movies",
                            "tvshows",
                            "music",
                            "musicvideos",
                            "trailers",
                            "homevideos",
                            "boxsets",
                            "books",
                            "photos",
                            "livetv",
                            "playlists",
                            "folders"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/CollectionType"
                            }
                        ],
                        "description": "Gets or sets the type of the collection.",
                        "nullable": true
                    },
                    "DisplayOrder": {
                        "type": "string",
                        "description": "Gets or sets the display order.",
                        "nullable": true
                    },
                    "AlbumId": {
                        "type": "string",
                        "description": "Gets or sets the album id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "AlbumPrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the album image tag.",
                        "nullable": true
                    },
                    "SeriesPrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the series primary image tag.",
                        "nullable": true
                    },
                    "AlbumArtist": {
                        "type": "string",
                        "description": "Gets or sets the album artist.",
                        "nullable": true
                    },
                    "AlbumArtists": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameGuidPair"
                        },
                        "description": "Gets or sets the album artists.",
                        "nullable": true
                    },
                    "SeasonName": {
                        "type": "string",
                        "description": "Gets or sets the name of the season.",
                        "nullable": true
                    },
                    "MediaStreams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaStream"
                        },
                        "description": "Gets or sets the media streams.",
                        "nullable": true
                    },
                    "VideoType": {
                        "enum": [
                            "VideoFile",
                            "Iso",
                            "Dvd",
                            "BluRay"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/VideoType"
                            }
                        ],
                        "description": "Gets or sets the type of the video.",
                        "nullable": true
                    },
                    "PartCount": {
                        "type": "integer",
                        "description": "Gets or sets the part count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "MediaSourceCount": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ImageTags": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Gets or sets the image tags.",
                        "nullable": true
                    },
                    "BackdropImageTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the backdrop image tags.",
                        "nullable": true
                    },
                    "ScreenshotImageTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the screenshot image tags.",
                        "nullable": true
                    },
                    "ParentLogoImageTag": {
                        "type": "string",
                        "description": "Gets or sets the parent logo image tag.",
                        "nullable": true
                    },
                    "ParentArtItemId": {
                        "type": "string",
                        "description": "Gets or sets whether the item has fan art, this will hold the Id of the Parent that has one.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "ParentArtImageTag": {
                        "type": "string",
                        "description": "Gets or sets the parent art image tag.",
                        "nullable": true
                    },
                    "SeriesThumbImageTag": {
                        "type": "string",
                        "description": "Gets or sets the series thumb image tag.",
                        "nullable": true
                    },
                    "ImageBlurHashes": {
                        "type": "object",
                        "properties": {
                            "Primary": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Art": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Backdrop": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Banner": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Logo": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Thumb": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Disc": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Box": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Screenshot": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Menu": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Chapter": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "BoxRear": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Profile": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            }
                        },
                        "description": "Gets or sets the blurhashes for the image tags.\r\nMaps image type to dictionary mapping image tag to blurhash value.",
                        "nullable": true
                    },
                    "SeriesStudio": {
                        "type": "string",
                        "description": "Gets or sets the series studio.",
                        "nullable": true
                    },
                    "ParentThumbItemId": {
                        "type": "string",
                        "description": "Gets or sets the parent thumb item id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "ParentThumbImageTag": {
                        "type": "string",
                        "description": "Gets or sets the parent thumb image tag.",
                        "nullable": true
                    },
                    "ParentPrimaryImageItemId": {
                        "type": "string",
                        "description": "Gets or sets the parent primary image item identifier.",
                        "nullable": true
                    },
                    "ParentPrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the parent primary image tag.",
                        "nullable": true
                    },
                    "Chapters": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ChapterInfo"
                        },
                        "description": "Gets or sets the chapters.",
                        "nullable": true
                    },
                    "Trickplay": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "object",
                            "additionalProperties": {
                                "$ref": "#/components/schemas/TrickplayInfo"
                            }
                        },
                        "description": "Gets or sets the trickplay manifest.",
                        "nullable": true
                    },
                    "LocationType": {
                        "enum": [
                            "FileSystem",
                            "Remote",
                            "Virtual",
                            "Offline"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LocationType"
                            }
                        ],
                        "description": "Gets or sets the type of the location.",
                        "nullable": true
                    },
                    "IsoType": {
                        "enum": [
                            "Dvd",
                            "BluRay"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/IsoType"
                            }
                        ],
                        "description": "Gets or sets the type of the iso.",
                        "nullable": true
                    },
                    "MediaType": {
                        "enum": [
                            "Unknown",
                            "Video",
                            "Audio",
                            "Photo",
                            "Book"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        ],
                        "description": "Gets or sets the type of the media.",
                        "default": "Unknown"
                    },
                    "EndDate": {
                        "type": "string",
                        "description": "Gets or sets the end date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "LockedFields": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MetadataField"
                        },
                        "description": "Gets or sets the locked fields.",
                        "nullable": true
                    },
                    "TrailerCount": {
                        "type": "integer",
                        "description": "Gets or sets the trailer count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "MovieCount": {
                        "type": "integer",
                        "description": "Gets or sets the movie count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SeriesCount": {
                        "type": "integer",
                        "description": "Gets or sets the series count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ProgramCount": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "EpisodeCount": {
                        "type": "integer",
                        "description": "Gets or sets the episode count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SongCount": {
                        "type": "integer",
                        "description": "Gets or sets the song count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "AlbumCount": {
                        "type": "integer",
                        "description": "Gets or sets the album count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ArtistCount": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "MusicVideoCount": {
                        "type": "integer",
                        "description": "Gets or sets the music video count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "LockData": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [enable internet providers].",
                        "nullable": true
                    },
                    "Width": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "Height": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "CameraMake": {
                        "type": "string",
                        "nullable": true
                    },
                    "CameraModel": {
                        "type": "string",
                        "nullable": true
                    },
                    "Software": {
                        "type": "string",
                        "nullable": true
                    },
                    "ExposureTime": {
                        "type": "number",
                        "format": "double",
                        "nullable": true
                    },
                    "FocalLength": {
                        "type": "number",
                        "format": "double",
                        "nullable": true
                    },
                    "ImageOrientation": {
                        "enum": [
                            "TopLeft",
                            "TopRight",
                            "BottomRight",
                            "BottomLeft",
                            "LeftTop",
                            "RightTop",
                            "RightBottom",
                            "LeftBottom"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ImageOrientation"
                            }
                        ],
                        "nullable": true
                    },
                    "Aperture": {
                        "type": "number",
                        "format": "double",
                        "nullable": true
                    },
                    "ShutterSpeed": {
                        "type": "number",
                        "format": "double",
                        "nullable": true
                    },
                    "Latitude": {
                        "type": "number",
                        "format": "double",
                        "nullable": true
                    },
                    "Longitude": {
                        "type": "number",
                        "format": "double",
                        "nullable": true
                    },
                    "Altitude": {
                        "type": "number",
                        "format": "double",
                        "nullable": true
                    },
                    "IsoSpeedRating": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "SeriesTimerId": {
                        "type": "string",
                        "description": "Gets or sets the series timer identifier.",
                        "nullable": true
                    },
                    "ProgramId": {
                        "type": "string",
                        "description": "Gets or sets the program identifier.",
                        "nullable": true
                    },
                    "ChannelPrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the channel primary image tag.",
                        "nullable": true
                    },
                    "StartDate": {
                        "type": "string",
                        "description": "Gets or sets the start date of the recording, in UTC.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "CompletionPercentage": {
                        "type": "number",
                        "description": "Gets or sets the completion percentage.",
                        "format": "double",
                        "nullable": true
                    },
                    "IsRepeat": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is repeat.",
                        "nullable": true
                    },
                    "EpisodeTitle": {
                        "type": "string",
                        "description": "Gets or sets the episode title.",
                        "nullable": true
                    },
                    "ChannelType": {
                        "enum": [
                            "TV",
                            "Radio"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ChannelType"
                            }
                        ],
                        "description": "Gets or sets the type of the channel.",
                        "nullable": true
                    },
                    "Audio": {
                        "enum": [
                            "Mono",
                            "Stereo",
                            "Dolby",
                            "DolbyDigital",
                            "Thx",
                            "Atmos"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ProgramAudio"
                            }
                        ],
                        "description": "Gets or sets the audio.",
                        "nullable": true
                    },
                    "IsMovie": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is movie.",
                        "nullable": true
                    },
                    "IsSports": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is sports.",
                        "nullable": true
                    },
                    "IsSeries": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is series.",
                        "nullable": true
                    },
                    "IsLive": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is live.",
                        "nullable": true
                    },
                    "IsNews": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is news.",
                        "nullable": true
                    },
                    "IsKids": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is kids.",
                        "nullable": true
                    },
                    "IsPremiere": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is premiere.",
                        "nullable": true
                    },
                    "TimerId": {
                        "type": "string",
                        "description": "Gets or sets the timer identifier.",
                        "nullable": true
                    },
                    "NormalizationGain": {
                        "type": "number",
                        "description": "Gets or sets the gain required for audio normalization.",
                        "format": "float",
                        "nullable": true
                    },
                    "CurrentProgram": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BaseItemDto"
                            }
                        ],
                        "description": "Gets or sets the current program.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "This is strictly used as a data transfer object from the api layer.\r\nThis holds information about a BaseItem in a format that is convenient for the client."
            },
            "BaseItemDtoQueryResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BaseItemDto"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Query result container."
            },
            "BaseItemKind": {
                "enum": [
                    "AggregateFolder",
                    "Audio",
                    "AudioBook",
                    "BasePluginFolder",
                    "Book",
                    "BoxSet",
                    "Channel",
                    "ChannelFolderItem",
                    "CollectionFolder",
                    "Episode",
                    "Folder",
                    "Genre",
                    "ManualPlaylistsFolder",
                    "Movie",
                    "LiveTvChannel",
                    "LiveTvProgram",
                    "MusicAlbum",
                    "MusicArtist",
                    "MusicGenre",
                    "MusicVideo",
                    "Person",
                    "Photo",
                    "PhotoAlbum",
                    "Playlist",
                    "PlaylistsFolder",
                    "Program",
                    "Recording",
                    "Season",
                    "Series",
                    "Studio",
                    "Trailer",
                    "TvChannel",
                    "TvProgram",
                    "UserRootFolder",
                    "UserView",
                    "Video",
                    "Year"
                ],
                "type": "string",
                "description": "The base item kind."
            },
            "BaseItemPerson": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the identifier.",
                        "format": "uuid"
                    },
                    "Role": {
                        "type": "string",
                        "description": "Gets or sets the role.",
                        "nullable": true
                    },
                    "Type": {
                        "enum": [
                            "Unknown",
                            "Actor",
                            "Director",
                            "Composer",
                            "Writer",
                            "GuestStar",
                            "Producer",
                            "Conductor",
                            "Lyricist",
                            "Arranger",
                            "Engineer",
                            "Mixer",
                            "Remixer",
                            "Creator",
                            "Artist",
                            "AlbumArtist",
                            "Author",
                            "Illustrator",
                            "Penciller",
                            "Inker",
                            "Colorist",
                            "Letterer",
                            "CoverArtist",
                            "Editor",
                            "Translator"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PersonKind"
                            }
                        ],
                        "description": "Gets or sets the type.",
                        "default": "Unknown"
                    },
                    "PrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the primary image tag.",
                        "nullable": true
                    },
                    "ImageBlurHashes": {
                        "type": "object",
                        "properties": {
                            "Primary": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Art": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Backdrop": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Banner": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Logo": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Thumb": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Disc": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Box": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Screenshot": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Menu": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Chapter": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "BoxRear": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            },
                            "Profile": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            }
                        },
                        "description": "Gets or sets the primary image blurhash.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "This is used by the api to get information about a Person within a BaseItem."
            },
            "BasePluginConfiguration": {
                "type": "object",
                "additionalProperties": false,
                "description": "Class BasePluginConfiguration."
            },
            "BookInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    },
                    "SeriesName": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "BookInfoRemoteSearchQuery": {
                "type": "object",
                "properties": {
                    "SearchInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BookInfo"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "description": "Gets or sets the provider name to search within if set.",
                        "nullable": true
                    },
                    "IncludeDisabledProviders": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether disabled providers should be included."
                    }
                },
                "additionalProperties": false
            },
            "BoxSetInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "BoxSetInfoRemoteSearchQuery": {
                "type": "object",
                "properties": {
                    "SearchInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BoxSetInfo"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "description": "Gets or sets the provider name to search within if set.",
                        "nullable": true
                    },
                    "IncludeDisabledProviders": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether disabled providers should be included."
                    }
                },
                "additionalProperties": false
            },
            "BrandingOptions": {
                "type": "object",
                "properties": {
                    "LoginDisclaimer": {
                        "type": "string",
                        "description": "Gets or sets the login disclaimer.",
                        "nullable": true
                    },
                    "CustomCss": {
                        "type": "string",
                        "description": "Gets or sets the custom CSS.",
                        "nullable": true
                    },
                    "SplashscreenEnabled": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to enable the splashscreen."
                    }
                },
                "additionalProperties": false,
                "description": "The branding options."
            },
            "BufferRequestDto": {
                "type": "object",
                "properties": {
                    "When": {
                        "type": "string",
                        "description": "Gets or sets when the request has been made by the client.",
                        "format": "date-time"
                    },
                    "PositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the position ticks.",
                        "format": "int64"
                    },
                    "IsPlaying": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the client playback is unpaused."
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets or sets the playlist item identifier of the playing item.",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false,
                "description": "Class BufferRequestDto."
            },
            "CastReceiverApplication": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the cast receiver application id."
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the cast receiver application name."
                    }
                },
                "additionalProperties": false,
                "description": "The cast receiver application model."
            },
            "ChannelFeatures": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name."
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the identifier.",
                        "format": "uuid"
                    },
                    "CanSearch": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance can search."
                    },
                    "MediaTypes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ChannelMediaType"
                        },
                        "description": "Gets or sets the media types."
                    },
                    "ContentTypes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ChannelMediaContentType"
                        },
                        "description": "Gets or sets the content types."
                    },
                    "MaxPageSize": {
                        "type": "integer",
                        "description": "Gets or sets the maximum number of records the channel allows retrieving at a time.",
                        "format": "int32",
                        "nullable": true
                    },
                    "AutoRefreshLevels": {
                        "type": "integer",
                        "description": "Gets or sets the automatic refresh levels.",
                        "format": "int32",
                        "nullable": true
                    },
                    "DefaultSortFields": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ChannelItemSortField"
                        },
                        "description": "Gets or sets the default sort orders."
                    },
                    "SupportsSortOrderToggle": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether a sort ascending/descending toggle is supported."
                    },
                    "SupportsLatestMedia": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [supports latest media]."
                    },
                    "CanFilter": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance can filter."
                    },
                    "SupportsContentDownloading": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [supports content downloading]."
                    }
                },
                "additionalProperties": false
            },
            "ChannelItemSortField": {
                "enum": [
                    "Name",
                    "CommunityRating",
                    "PremiereDate",
                    "DateCreated",
                    "Runtime",
                    "PlayCount",
                    "CommunityPlayCount"
                ],
                "type": "string"
            },
            "ChannelMappingOptionsDto": {
                "type": "object",
                "properties": {
                    "TunerChannels": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TunerChannelMapping"
                        },
                        "description": "Gets or sets list of tuner channels."
                    },
                    "ProviderChannels": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameIdPair"
                        },
                        "description": "Gets or sets list of provider channels."
                    },
                    "Mappings": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameValuePair"
                        },
                        "description": "Gets or sets list of mappings."
                    },
                    "ProviderName": {
                        "type": "string",
                        "description": "Gets or sets provider name.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Channel mapping options dto."
            },
            "ChannelMediaContentType": {
                "enum": [
                    "Clip",
                    "Podcast",
                    "Trailer",
                    "Movie",
                    "Episode",
                    "Song",
                    "MovieExtra",
                    "TvExtra"
                ],
                "type": "string"
            },
            "ChannelMediaType": {
                "enum": [
                    "Audio",
                    "Video",
                    "Photo"
                ],
                "type": "string"
            },
            "ChannelType": {
                "enum": [
                    "TV",
                    "Radio"
                ],
                "type": "string",
                "description": "Enum ChannelType."
            },
            "ChapterInfo": {
                "type": "object",
                "properties": {
                    "StartPositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the start position ticks.",
                        "format": "int64"
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "ImagePath": {
                        "type": "string",
                        "description": "Gets or sets the image path.",
                        "nullable": true
                    },
                    "ImageDateModified": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "ImageTag": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class ChapterInfo."
            },
            "CheckpointId": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false
            },
            "ClientCapabilitiesDto": {
                "type": "object",
                "properties": {
                    "PlayableMediaTypes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaType"
                        },
                        "description": "Gets or sets the list of playable media types."
                    },
                    "SupportedCommands": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/GeneralCommandType"
                        },
                        "description": "Gets or sets the list of supported commands."
                    },
                    "SupportsMediaControl": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether session supports media control."
                    },
                    "SupportsPersistentIdentifier": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether session supports a persistent identifier."
                    },
                    "DeviceProfile": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DeviceProfile"
                            }
                        ],
                        "description": "Gets or sets the device profile.",
                        "nullable": true
                    },
                    "AppStoreUrl": {
                        "type": "string",
                        "description": "Gets or sets the app store url.",
                        "nullable": true
                    },
                    "IconUrl": {
                        "type": "string",
                        "description": "Gets or sets the icon url.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Client capabilities dto."
            },
            "ClientLogDocumentResponseDto": {
                "type": "object",
                "properties": {
                    "FileName": {
                        "type": "string",
                        "description": "Gets the resulting filename."
                    }
                },
                "additionalProperties": false,
                "description": "Client log document response dto."
            },
            "CodecProfile": {
                "type": "object",
                "properties": {
                    "Type": {
                        "enum": [
                            "Video",
                            "VideoAudio",
                            "Audio"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/CodecType"
                            }
                        ],
                        "description": "Gets or sets the MediaBrowser.Model.Dlna.CodecType which this container must meet."
                    },
                    "Conditions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProfileCondition"
                        },
                        "description": "Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this profile must meet."
                    },
                    "ApplyConditions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProfileCondition"
                        },
                        "description": "Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition to apply if this profile is met."
                    },
                    "Codec": {
                        "type": "string",
                        "description": "Gets or sets the codec(s) that this profile applies to.",
                        "nullable": true
                    },
                    "Container": {
                        "type": "string",
                        "description": "Gets or sets the container(s) which this profile will be applied to.",
                        "nullable": true
                    },
                    "SubContainer": {
                        "type": "string",
                        "description": "Gets or sets the sub-container(s) which this profile will be applied to.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Defines the MediaBrowser.Model.Dlna.CodecProfile."
            },
            "CodecType": {
                "enum": [
                    "Video",
                    "VideoAudio",
                    "Audio"
                ],
                "type": "string"
            },
            "CollectionCreationResult": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false
            },
            "CollectionType": {
                "enum": [
                    "unknown",
                    "movies",
                    "tvshows",
                    "music",
                    "musicvideos",
                    "trailers",
                    "homevideos",
                    "boxsets",
                    "books",
                    "photos",
                    "livetv",
                    "playlists",
                    "folders"
                ],
                "type": "string",
                "description": "Collection type."
            },
            "CollectionTypeOptions": {
                "enum": [
                    "movies",
                    "tvshows",
                    "music",
                    "musicvideos",
                    "homevideos",
                    "boxsets",
                    "books",
                    "mixed"
                ],
                "type": "string",
                "description": "The collection type options."
            },
            "ConfigImageTypes": {
                "type": "object",
                "properties": {
                    "BackdropSizes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "BaseUrl": {
                        "type": "string",
                        "nullable": true
                    },
                    "LogoSizes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "PosterSizes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "ProfileSizes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "SecureBaseUrl": {
                        "type": "string",
                        "nullable": true
                    },
                    "StillSizes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "ConfigurationPageInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name."
                    },
                    "EnableInMainMenu": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the configurations page is enabled in the main menu."
                    },
                    "MenuSection": {
                        "type": "string",
                        "description": "Gets or sets the menu section.",
                        "nullable": true
                    },
                    "MenuIcon": {
                        "type": "string",
                        "description": "Gets or sets the menu icon.",
                        "nullable": true
                    },
                    "DisplayName": {
                        "type": "string",
                        "description": "Gets or sets the display name.",
                        "nullable": true
                    },
                    "PluginId": {
                        "type": "string",
                        "description": "Gets or sets the plugin id.",
                        "format": "uuid",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "The configuration page info."
            },
            "ContainerProfile": {
                "type": "object",
                "properties": {
                    "Type": {
                        "enum": [
                            "Audio",
                            "Video",
                            "Photo",
                            "Subtitle",
                            "Lyric"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DlnaProfileType"
                            }
                        ],
                        "description": "Gets or sets the MediaBrowser.Model.Dlna.DlnaProfileType which this container must meet."
                    },
                    "Conditions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProfileCondition"
                        },
                        "description": "Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this container will be applied to."
                    },
                    "Container": {
                        "type": "string",
                        "description": "Gets or sets the container(s) which this container must meet.",
                        "nullable": true
                    },
                    "SubContainer": {
                        "type": "string",
                        "description": "Gets or sets the sub container(s) which this container must meet.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Defines the MediaBrowser.Model.Dlna.ContainerProfile."
            },
            "CountryInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "DisplayName": {
                        "type": "string",
                        "description": "Gets or sets the display name.",
                        "nullable": true
                    },
                    "TwoLetterISORegionName": {
                        "type": "string",
                        "description": "Gets or sets the name of the two letter ISO region.",
                        "nullable": true
                    },
                    "ThreeLetterISORegionName": {
                        "type": "string",
                        "description": "Gets or sets the name of the three letter ISO region.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class CountryInfo."
            },
            "CreatePlaylistDto": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name of the new playlist."
                    },
                    "Ids": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "description": "Gets or sets item ids to add to the playlist."
                    },
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets the user id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "MediaType": {
                        "enum": [
                            "Unknown",
                            "Video",
                            "Audio",
                            "Photo",
                            "Book"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        ],
                        "description": "Gets or sets the media type.",
                        "nullable": true
                    },
                    "Users": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PlaylistUserPermissions"
                        },
                        "description": "Gets or sets the playlist users."
                    },
                    "IsPublic": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the playlist is public."
                    }
                },
                "additionalProperties": false,
                "description": "Create new playlist dto."
            },
            "CreateUserByName": {
                "required": [
                    "Name"
                ],
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the username."
                    },
                    "Password": {
                        "type": "string",
                        "description": "Gets or sets the password.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "The create user by name request body."
            },
            "CultureDto": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets the name."
                    },
                    "DisplayName": {
                        "type": "string",
                        "description": "Gets the display name."
                    },
                    "TwoLetterISOLanguageName": {
                        "type": "string",
                        "description": "Gets the name of the two letter ISO language."
                    },
                    "ThreeLetterISOLanguageName": {
                        "type": "string",
                        "description": "Gets the name of the three letter ISO language.",
                        "nullable": true,
                        "readOnly": true
                    },
                    "ThreeLetterISOLanguageNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "additionalProperties": false,
                "description": "Class CultureDto."
            },
            "DayOfWeek": {
                "enum": [
                    "Sunday",
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday",
                    "Saturday"
                ],
                "type": "string"
            },
            "DayPattern": {
                "enum": [
                    "Daily",
                    "Weekdays",
                    "Weekends"
                ],
                "type": "string"
            },
            "DefaultDirectoryBrowserInfoDto": {
                "type": "object",
                "properties": {
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Default directory browser info."
            },
            "DeinterlaceMethod": {
                "enum": [
                    "yadif",
                    "bwdif"
                ],
                "type": "string",
                "description": "Enum containing deinterlace methods."
            },
            "DeviceInfoDto": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "CustomName": {
                        "type": "string",
                        "description": "Gets or sets the custom name.",
                        "nullable": true
                    },
                    "AccessToken": {
                        "type": "string",
                        "description": "Gets or sets the access token.",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the identifier.",
                        "nullable": true
                    },
                    "LastUserName": {
                        "type": "string",
                        "description": "Gets or sets the last name of the user.",
                        "nullable": true
                    },
                    "AppName": {
                        "type": "string",
                        "description": "Gets or sets the name of the application.",
                        "nullable": true
                    },
                    "AppVersion": {
                        "type": "string",
                        "description": "Gets or sets the application version.",
                        "nullable": true
                    },
                    "LastUserId": {
                        "type": "string",
                        "description": "Gets or sets the last user identifier.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "DateLastActivity": {
                        "type": "string",
                        "description": "Gets or sets the date last modified.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "Capabilities": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ClientCapabilitiesDto"
                            }
                        ],
                        "description": "Gets or sets the capabilities."
                    },
                    "IconUrl": {
                        "type": "string",
                        "description": "Gets or sets the icon URL.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "A DTO representing device information."
            },
            "DeviceInfoDtoQueryResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DeviceInfoDto"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Query result container."
            },
            "DeviceOptionsDto": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "integer",
                        "description": "Gets or sets the id.",
                        "format": "int32"
                    },
                    "DeviceId": {
                        "type": "string",
                        "description": "Gets or sets the device id.",
                        "nullable": true
                    },
                    "CustomName": {
                        "type": "string",
                        "description": "Gets or sets the custom name.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "A dto representing custom options for a device."
            },
            "DeviceProfile": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name of this device profile. User profiles must have a unique name.",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the unique internal identifier.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "MaxStreamingBitrate": {
                        "type": "integer",
                        "description": "Gets or sets the maximum allowed bitrate for all streamed content.",
                        "format": "int32",
                        "nullable": true
                    },
                    "MaxStaticBitrate": {
                        "type": "integer",
                        "description": "Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files).",
                        "format": "int32",
                        "nullable": true
                    },
                    "MusicStreamingTranscodingBitrate": {
                        "type": "integer",
                        "description": "Gets or sets the maximum allowed bitrate for transcoded music streams.",
                        "format": "int32",
                        "nullable": true
                    },
                    "MaxStaticMusicBitrate": {
                        "type": "integer",
                        "description": "Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files.",
                        "format": "int32",
                        "nullable": true
                    },
                    "DirectPlayProfiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DirectPlayProfile"
                        },
                        "description": "Gets or sets the direct play profiles."
                    },
                    "TranscodingProfiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TranscodingProfile"
                        },
                        "description": "Gets or sets the transcoding profiles."
                    },
                    "ContainerProfiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ContainerProfile"
                        },
                        "description": "Gets or sets the container profiles. Failing to meet these optional conditions causes transcoding to occur."
                    },
                    "CodecProfiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CodecProfile"
                        },
                        "description": "Gets or sets the codec profiles."
                    },
                    "SubtitleProfiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SubtitleProfile"
                        },
                        "description": "Gets or sets the subtitle profiles."
                    }
                },
                "additionalProperties": false,
                "description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n<br />\r\nSpecifically, it defines the supported <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles\">containers</see> and\r\n<see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles\">codecs</see> (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles\">containers/codecs to transcode to</see> in case it isn't."
            },
            "DirectPlayProfile": {
                "type": "object",
                "properties": {
                    "Container": {
                        "type": "string",
                        "description": "Gets or sets the container."
                    },
                    "AudioCodec": {
                        "type": "string",
                        "description": "Gets or sets the audio codec.",
                        "nullable": true
                    },
                    "VideoCodec": {
                        "type": "string",
                        "description": "Gets or sets the video codec.",
                        "nullable": true
                    },
                    "Type": {
                        "enum": [
                            "Audio",
                            "Video",
                            "Photo",
                            "Subtitle",
                            "Lyric"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DlnaProfileType"
                            }
                        ],
                        "description": "Gets or sets the Dlna profile type."
                    }
                },
                "additionalProperties": false,
                "description": "Defines the MediaBrowser.Model.Dlna.DirectPlayProfile."
            },
            "DisplayPreferencesDto": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the user id.",
                        "nullable": true
                    },
                    "ViewType": {
                        "type": "string",
                        "description": "Gets or sets the type of the view.",
                        "nullable": true
                    },
                    "SortBy": {
                        "type": "string",
                        "description": "Gets or sets the sort by.",
                        "nullable": true
                    },
                    "IndexBy": {
                        "type": "string",
                        "description": "Gets or sets the index by.",
                        "nullable": true
                    },
                    "RememberIndexing": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [remember indexing]."
                    },
                    "PrimaryImageHeight": {
                        "type": "integer",
                        "description": "Gets or sets the height of the primary image.",
                        "format": "int32"
                    },
                    "PrimaryImageWidth": {
                        "type": "integer",
                        "description": "Gets or sets the width of the primary image.",
                        "format": "int32"
                    },
                    "CustomPrefs": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the custom prefs."
                    },
                    "ScrollDirection": {
                        "enum": [
                            "Horizontal",
                            "Vertical"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ScrollDirection"
                            }
                        ],
                        "description": "Gets or sets the scroll direction."
                    },
                    "ShowBackdrop": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to show backdrops on this item."
                    },
                    "RememberSorting": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [remember sorting]."
                    },
                    "SortOrder": {
                        "enum": [
                            "Ascending",
                            "Descending"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SortOrder"
                            }
                        ],
                        "description": "Gets or sets the sort order."
                    },
                    "ShowSidebar": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [show sidebar]."
                    },
                    "Client": {
                        "type": "string",
                        "description": "Gets or sets the client.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Defines the display preferences for any item that supports them (usually Folders)."
            },
            "DlnaProfileType": {
                "enum": [
                    "Audio",
                    "Video",
                    "Photo",
                    "Subtitle",
                    "Lyric"
                ],
                "type": "string"
            },
            "DownMixStereoAlgorithms": {
                "enum": [
                    "None",
                    "Dave750",
                    "NightmodeDialogue",
                    "Rfc7845",
                    "Ac4"
                ],
                "type": "string",
                "description": "An enum representing an algorithm to downmix surround sound to stereo."
            },
            "DynamicDayOfWeek": {
                "enum": [
                    "Sunday",
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday",
                    "Saturday",
                    "Everyday",
                    "Weekday",
                    "Weekend"
                ],
                "type": "string",
                "description": "An enum that represents a day of the week, weekdays, weekends, or all days."
            },
            "EmbeddedSubtitleOptions": {
                "enum": [
                    "AllowAll",
                    "AllowText",
                    "AllowImage",
                    "AllowNone"
                ],
                "type": "string",
                "description": "An enum representing the options to disable embedded subs."
            },
            "EncoderPreset": {
                "enum": [
                    "auto",
                    "placebo",
                    "veryslow",
                    "slower",
                    "slow",
                    "medium",
                    "fast",
                    "faster",
                    "veryfast",
                    "superfast",
                    "ultrafast"
                ],
                "type": "string",
                "description": "Enum containing encoder presets."
            },
            "EncodingContext": {
                "enum": [
                    "Streaming",
                    "Static"
                ],
                "type": "string"
            },
            "EncodingOptions": {
                "type": "object",
                "properties": {
                    "EncodingThreadCount": {
                        "type": "integer",
                        "description": "Gets or sets the thread count used for encoding.",
                        "format": "int32"
                    },
                    "TranscodingTempPath": {
                        "type": "string",
                        "description": "Gets or sets the temporary transcoding path.",
                        "nullable": true
                    },
                    "FallbackFontPath": {
                        "type": "string",
                        "description": "Gets or sets the path to the fallback font.",
                        "nullable": true
                    },
                    "EnableFallbackFont": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to use the fallback font."
                    },
                    "EnableAudioVbr": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether audio VBR is enabled."
                    },
                    "DownMixAudioBoost": {
                        "type": "number",
                        "description": "Gets or sets the audio boost applied when downmixing audio.",
                        "format": "double"
                    },
                    "DownMixStereoAlgorithm": {
                        "enum": [
                            "None",
                            "Dave750",
                            "NightmodeDialogue",
                            "Rfc7845",
                            "Ac4"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DownMixStereoAlgorithms"
                            }
                        ],
                        "description": "Gets or sets the algorithm used for downmixing audio to stereo."
                    },
                    "MaxMuxingQueueSize": {
                        "type": "integer",
                        "description": "Gets or sets the maximum size of the muxing queue.",
                        "format": "int32"
                    },
                    "EnableThrottling": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether throttling is enabled."
                    },
                    "ThrottleDelaySeconds": {
                        "type": "integer",
                        "description": "Gets or sets the delay after which throttling happens.",
                        "format": "int32"
                    },
                    "EnableSegmentDeletion": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether segment deletion is enabled."
                    },
                    "SegmentKeepSeconds": {
                        "type": "integer",
                        "description": "Gets or sets seconds for which segments should be kept before being deleted.",
                        "format": "int32"
                    },
                    "HardwareAccelerationType": {
                        "enum": [
                            "none",
                            "amf",
                            "qsv",
                            "nvenc",
                            "v4l2m2m",
                            "vaapi",
                            "videotoolbox",
                            "rkmpp"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/HardwareAccelerationType"
                            }
                        ],
                        "description": "Gets or sets the hardware acceleration type."
                    },
                    "EncoderAppPath": {
                        "type": "string",
                        "description": "Gets or sets the FFmpeg path as set by the user via the UI.",
                        "nullable": true
                    },
                    "EncoderAppPathDisplay": {
                        "type": "string",
                        "description": "Gets or sets the current FFmpeg path being used by the system and displayed on the transcode page.",
                        "nullable": true
                    },
                    "VaapiDevice": {
                        "type": "string",
                        "description": "Gets or sets the VA-API device.",
                        "nullable": true
                    },
                    "QsvDevice": {
                        "type": "string",
                        "description": "Gets or sets the QSV device.",
                        "nullable": true
                    },
                    "EnableTonemapping": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether tonemapping is enabled."
                    },
                    "EnableVppTonemapping": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether VPP tonemapping is enabled."
                    },
                    "EnableVideoToolboxTonemapping": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether videotoolbox tonemapping is enabled."
                    },
                    "TonemappingAlgorithm": {
                        "enum": [
                            "none",
                            "clip",
                            "linear",
                            "gamma",
                            "reinhard",
                            "hable",
                            "mobius",
                            "bt2390"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TonemappingAlgorithm"
                            }
                        ],
                        "description": "Gets or sets the tone-mapping algorithm."
                    },
                    "TonemappingMode": {
                        "enum": [
                            "auto",
                            "max",
                            "rgb",
                            "lum",
                            "itp"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TonemappingMode"
                            }
                        ],
                        "description": "Gets or sets the tone-mapping mode."
                    },
                    "TonemappingRange": {
                        "enum": [
                            "auto",
                            "tv",
                            "pc"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TonemappingRange"
                            }
                        ],
                        "description": "Gets or sets the tone-mapping range."
                    },
                    "TonemappingDesat": {
                        "type": "number",
                        "description": "Gets or sets the tone-mapping desaturation.",
                        "format": "double"
                    },
                    "TonemappingPeak": {
                        "type": "number",
                        "description": "Gets or sets the tone-mapping peak.",
                        "format": "double"
                    },
                    "TonemappingParam": {
                        "type": "number",
                        "description": "Gets or sets the tone-mapping parameters.",
                        "format": "double"
                    },
                    "VppTonemappingBrightness": {
                        "type": "number",
                        "description": "Gets or sets the VPP tone-mapping brightness.",
                        "format": "double"
                    },
                    "VppTonemappingContrast": {
                        "type": "number",
                        "description": "Gets or sets the VPP tone-mapping contrast.",
                        "format": "double"
                    },
                    "H264Crf": {
                        "type": "integer",
                        "description": "Gets or sets the H264 CRF.",
                        "format": "int32"
                    },
                    "H265Crf": {
                        "type": "integer",
                        "description": "Gets or sets the H265 CRF.",
                        "format": "int32"
                    },
                    "EncoderPreset": {
                        "enum": [
                            "auto",
                            "placebo",
                            "veryslow",
                            "slower",
                            "slow",
                            "medium",
                            "fast",
                            "faster",
                            "veryfast",
                            "superfast",
                            "ultrafast"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/EncoderPreset"
                            }
                        ],
                        "description": "Gets or sets the encoder preset.",
                        "nullable": true
                    },
                    "DeinterlaceDoubleRate": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the framerate is doubled when deinterlacing."
                    },
                    "DeinterlaceMethod": {
                        "enum": [
                            "yadif",
                            "bwdif"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DeinterlaceMethod"
                            }
                        ],
                        "description": "Gets or sets the deinterlace method."
                    },
                    "EnableDecodingColorDepth10Hevc": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether 10bit HEVC decoding is enabled."
                    },
                    "EnableDecodingColorDepth10Vp9": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether 10bit VP9 decoding is enabled."
                    },
                    "EnableDecodingColorDepth10HevcRext": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether 8/10bit HEVC RExt decoding is enabled."
                    },
                    "EnableDecodingColorDepth12HevcRext": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether 12bit HEVC RExt decoding is enabled."
                    },
                    "EnableEnhancedNvdecDecoder": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the enhanced NVDEC is enabled."
                    },
                    "PreferSystemNativeHwDecoder": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the system native hardware decoder should be used."
                    },
                    "EnableIntelLowPowerH264HwEncoder": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the Intel H264 low-power hardware encoder should be used."
                    },
                    "EnableIntelLowPowerHevcHwEncoder": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the Intel HEVC low-power hardware encoder should be used."
                    },
                    "EnableHardwareEncoding": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether hardware encoding is enabled."
                    },
                    "AllowHevcEncoding": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether HEVC encoding is enabled."
                    },
                    "AllowAv1Encoding": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether AV1 encoding is enabled."
                    },
                    "EnableSubtitleExtraction": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether subtitle extraction is enabled."
                    },
                    "HardwareDecodingCodecs": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the codecs hardware encoding is used for.",
                        "nullable": true
                    },
                    "AllowOnDemandMetadataBasedKeyframeExtractionForExtensions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the file extensions on-demand metadata based keyframe extraction is enabled for.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class EncodingOptions."
            },
            "EndPointInfo": {
                "type": "object",
                "properties": {
                    "IsLocal": {
                        "type": "boolean"
                    },
                    "IsInNetwork": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "ExternalIdInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc)."
                    },
                    "Key": {
                        "type": "string",
                        "description": "Gets or sets the unique key for this id. This key should be unique across all providers."
                    },
                    "Type": {
                        "enum": [
                            "Album",
                            "AlbumArtist",
                            "Artist",
                            "BoxSet",
                            "Episode",
                            "Movie",
                            "OtherArtist",
                            "Person",
                            "ReleaseGroup",
                            "Season",
                            "Series",
                            "Track",
                            "Book"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ExternalIdMediaType"
                            }
                        ],
                        "description": "Gets or sets the specific media type for this id. This is used to distinguish between the different\r\nexternal id types for providers with multiple ids.\r\nA null value indicates there is no specific media type associated with the external id, or this is the\r\ndefault id for the external provider so there is no need to specify a type.",
                        "nullable": true
                    },
                    "UrlFormatString": {
                        "type": "string",
                        "description": "Gets or sets the URL format string.",
                        "nullable": true,
                        "deprecated": true
                    }
                },
                "additionalProperties": false,
                "description": "Represents the external id information for serialization to the client."
            },
            "ExternalIdMediaType": {
                "enum": [
                    "Album",
                    "AlbumArtist",
                    "Artist",
                    "BoxSet",
                    "Episode",
                    "Movie",
                    "OtherArtist",
                    "Person",
                    "ReleaseGroup",
                    "Season",
                    "Series",
                    "Track",
                    "Book"
                ],
                "type": "string",
                "description": "The specific media type of an MediaBrowser.Model.Providers.ExternalIdInfo."
            },
            "ExternalUrl": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Url": {
                        "type": "string",
                        "description": "Gets or sets the type of the item.",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "ExtraType": {
                "enum": [
                    "Unknown",
                    "Clip",
                    "Trailer",
                    "BehindTheScenes",
                    "DeletedScene",
                    "Interview",
                    "Scene",
                    "Sample",
                    "ThemeSong",
                    "ThemeVideo",
                    "Featurette",
                    "Short"
                ],
                "type": "string"
            },
            "FileSystemEntryInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets the name."
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets the path."
                    },
                    "Type": {
                        "enum": [
                            "File",
                            "Directory",
                            "NetworkComputer",
                            "NetworkShare"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/FileSystemEntryType"
                            }
                        ],
                        "description": "Gets the type."
                    }
                },
                "additionalProperties": false,
                "description": "Class FileSystemEntryInfo."
            },
            "FileSystemEntryType": {
                "enum": [
                    "File",
                    "Directory",
                    "NetworkComputer",
                    "NetworkShare"
                ],
                "type": "string",
                "description": "Enum FileSystemEntryType."
            },
            "FontFile": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Size": {
                        "type": "integer",
                        "description": "Gets or sets the size.",
                        "format": "int64"
                    },
                    "DateCreated": {
                        "type": "string",
                        "description": "Gets or sets the date created.",
                        "format": "date-time"
                    },
                    "DateModified": {
                        "type": "string",
                        "description": "Gets or sets the date modified.",
                        "format": "date-time"
                    }
                },
                "additionalProperties": false,
                "description": "Class FontFile."
            },
            "ForceKeepAliveMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "type": "integer",
                        "description": "Gets or sets the data.",
                        "format": "int32"
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ForceKeepAlive",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Force keep alive websocket messages."
            },
            "ForgotPasswordAction": {
                "enum": [
                    "ContactAdmin",
                    "PinCode",
                    "InNetworkRequired"
                ],
                "type": "string"
            },
            "ForgotPasswordDto": {
                "required": [
                    "EnteredUsername"
                ],
                "type": "object",
                "properties": {
                    "EnteredUsername": {
                        "type": "string",
                        "description": "Gets or sets the entered username to have its password reset."
                    }
                },
                "additionalProperties": false,
                "description": "Forgot Password request body DTO."
            },
            "ForgotPasswordPinDto": {
                "required": [
                    "Pin"
                ],
                "type": "object",
                "properties": {
                    "Pin": {
                        "type": "string",
                        "description": "Gets or sets the entered pin to have the password reset."
                    }
                },
                "additionalProperties": false,
                "description": "Forgot Password Pin enter request body DTO."
            },
            "ForgotPasswordResult": {
                "type": "object",
                "properties": {
                    "Action": {
                        "enum": [
                            "ContactAdmin",
                            "PinCode",
                            "InNetworkRequired"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ForgotPasswordAction"
                            }
                        ],
                        "description": "Gets or sets the action."
                    },
                    "PinFile": {
                        "type": "string",
                        "description": "Gets or sets the pin file.",
                        "nullable": true
                    },
                    "PinExpirationDate": {
                        "type": "string",
                        "description": "Gets or sets the pin expiration date.",
                        "format": "date-time",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "GeneralCommand": {
                "type": "object",
                "properties": {
                    "Name": {
                        "enum": [
                            "MoveUp",
                            "MoveDown",
                            "MoveLeft",
                            "MoveRight",
                            "PageUp",
                            "PageDown",
                            "PreviousLetter",
                            "NextLetter",
                            "ToggleOsd",
                            "ToggleContextMenu",
                            "Select",
                            "Back",
                            "TakeScreenshot",
                            "SendKey",
                            "SendString",
                            "GoHome",
                            "GoToSettings",
                            "VolumeUp",
                            "VolumeDown",
                            "Mute",
                            "Unmute",
                            "ToggleMute",
                            "SetVolume",
                            "SetAudioStreamIndex",
                            "SetSubtitleStreamIndex",
                            "ToggleFullscreen",
                            "DisplayContent",
                            "GoToSearch",
                            "DisplayMessage",
                            "SetRepeatMode",
                            "ChannelUp",
                            "ChannelDown",
                            "Guide",
                            "ToggleStats",
                            "PlayMediaSource",
                            "PlayTrailers",
                            "SetShuffleQueue",
                            "PlayState",
                            "PlayNext",
                            "ToggleOsdMenu",
                            "Play",
                            "SetMaxStreamingBitrate",
                            "SetPlaybackOrder"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GeneralCommandType"
                            }
                        ],
                        "description": "This exists simply to identify a set of known commands."
                    },
                    "ControllingUserId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "Arguments": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        }
                    }
                },
                "additionalProperties": false
            },
            "GeneralCommandMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GeneralCommand"
                            }
                        ],
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "GeneralCommand",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "General command websocket message."
            },
            "GeneralCommandType": {
                "enum": [
                    "MoveUp",
                    "MoveDown",
                    "MoveLeft",
                    "MoveRight",
                    "PageUp",
                    "PageDown",
                    "PreviousLetter",
                    "NextLetter",
                    "ToggleOsd",
                    "ToggleContextMenu",
                    "Select",
                    "Back",
                    "TakeScreenshot",
                    "SendKey",
                    "SendString",
                    "GoHome",
                    "GoToSettings",
                    "VolumeUp",
                    "VolumeDown",
                    "Mute",
                    "Unmute",
                    "ToggleMute",
                    "SetVolume",
                    "SetAudioStreamIndex",
                    "SetSubtitleStreamIndex",
                    "ToggleFullscreen",
                    "DisplayContent",
                    "GoToSearch",
                    "DisplayMessage",
                    "SetRepeatMode",
                    "ChannelUp",
                    "ChannelDown",
                    "Guide",
                    "ToggleStats",
                    "PlayMediaSource",
                    "PlayTrailers",
                    "SetShuffleQueue",
                    "PlayState",
                    "PlayNext",
                    "ToggleOsdMenu",
                    "Play",
                    "SetMaxStreamingBitrate",
                    "SetPlaybackOrder"
                ],
                "type": "string",
                "description": "This exists simply to identify a set of known commands."
            },
            "GetProgramsDto": {
                "type": "object",
                "properties": {
                    "ChannelIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "description": "Gets or sets the channels to return guide information for.",
                        "nullable": true
                    },
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets optional. Filter by user id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "MinStartDate": {
                        "type": "string",
                        "description": "Gets or sets the minimum premiere start date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "HasAired": {
                        "type": "boolean",
                        "description": "Gets or sets filter by programs that have completed airing, or not.",
                        "nullable": true
                    },
                    "IsAiring": {
                        "type": "boolean",
                        "description": "Gets or sets filter by programs that are currently airing, or not.",
                        "nullable": true
                    },
                    "MaxStartDate": {
                        "type": "string",
                        "description": "Gets or sets the maximum premiere start date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "MinEndDate": {
                        "type": "string",
                        "description": "Gets or sets the minimum premiere end date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "MaxEndDate": {
                        "type": "string",
                        "description": "Gets or sets the maximum premiere end date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsMovie": {
                        "type": "boolean",
                        "description": "Gets or sets filter for movies.",
                        "nullable": true
                    },
                    "IsSeries": {
                        "type": "boolean",
                        "description": "Gets or sets filter for series.",
                        "nullable": true
                    },
                    "IsNews": {
                        "type": "boolean",
                        "description": "Gets or sets filter for news.",
                        "nullable": true
                    },
                    "IsKids": {
                        "type": "boolean",
                        "description": "Gets or sets filter for kids.",
                        "nullable": true
                    },
                    "IsSports": {
                        "type": "boolean",
                        "description": "Gets or sets filter for sports.",
                        "nullable": true
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the record index to start at. All items with a lower index will be dropped from the results.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Limit": {
                        "type": "integer",
                        "description": "Gets or sets the maximum number of records to return.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SortBy": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ItemSortBy"
                        },
                        "description": "Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.",
                        "nullable": true
                    },
                    "SortOrder": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SortOrder"
                        },
                        "description": "Gets or sets sort order.",
                        "nullable": true
                    },
                    "Genres": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the genres to return guide information for.",
                        "nullable": true
                    },
                    "GenreIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "description": "Gets or sets the genre ids to return guide information for.",
                        "nullable": true
                    },
                    "EnableImages": {
                        "type": "boolean",
                        "description": "Gets or sets include image information in output.",
                        "nullable": true
                    },
                    "EnableTotalRecordCount": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether retrieve total record count.",
                        "default": true
                    },
                    "ImageTypeLimit": {
                        "type": "integer",
                        "description": "Gets or sets the max number of images to return, per image type.",
                        "format": "int32",
                        "nullable": true
                    },
                    "EnableImageTypes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ImageType"
                        },
                        "description": "Gets or sets the image types to include in the output.",
                        "nullable": true
                    },
                    "EnableUserData": {
                        "type": "boolean",
                        "description": "Gets or sets include user data.",
                        "nullable": true
                    },
                    "SeriesTimerId": {
                        "type": "string",
                        "description": "Gets or sets filter by series timer id.",
                        "nullable": true
                    },
                    "LibrarySeriesId": {
                        "type": "string",
                        "description": "Gets or sets filter by library series id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "Fields": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ItemFields"
                        },
                        "description": "Gets or sets specify additional fields of information to return in the output.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Get programs dto."
            },
            "GroupInfoDto": {
                "type": "object",
                "properties": {
                    "GroupId": {
                        "type": "string",
                        "description": "Gets the group identifier.",
                        "format": "uuid"
                    },
                    "GroupName": {
                        "type": "string",
                        "description": "Gets the group name."
                    },
                    "State": {
                        "enum": [
                            "Idle",
                            "Waiting",
                            "Paused",
                            "Playing"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupStateType"
                            }
                        ],
                        "description": "Gets the group state."
                    },
                    "Participants": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets the participants."
                    },
                    "LastUpdatedAt": {
                        "type": "string",
                        "description": "Gets the date when this DTO has been created.",
                        "format": "date-time"
                    }
                },
                "additionalProperties": false,
                "description": "Class GroupInfoDto."
            },
            "GroupInfoDtoGroupUpdate": {
                "type": "object",
                "properties": {
                    "GroupId": {
                        "type": "string",
                        "description": "Gets the group identifier.",
                        "format": "uuid",
                        "readOnly": true
                    },
                    "Type": {
                        "enum": [
                            "UserJoined",
                            "UserLeft",
                            "GroupJoined",
                            "GroupLeft",
                            "StateUpdate",
                            "PlayQueue",
                            "NotInGroup",
                            "GroupDoesNotExist",
                            "CreateGroupDenied",
                            "JoinGroupDenied",
                            "LibraryAccessDenied"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupUpdateType"
                            }
                        ],
                        "description": "Gets the update type."
                    },
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupInfoDto"
                            }
                        ],
                        "description": "Gets the update data."
                    }
                },
                "additionalProperties": false,
                "description": "Class GroupUpdate."
            },
            "GroupQueueMode": {
                "enum": [
                    "Queue",
                    "QueueNext"
                ],
                "type": "string",
                "description": "Enum GroupQueueMode."
            },
            "GroupRepeatMode": {
                "enum": [
                    "RepeatOne",
                    "RepeatAll",
                    "RepeatNone"
                ],
                "type": "string",
                "description": "Enum GroupRepeatMode."
            },
            "GroupShuffleMode": {
                "enum": [
                    "Sorted",
                    "Shuffle"
                ],
                "type": "string",
                "description": "Enum GroupShuffleMode."
            },
            "GroupStateType": {
                "enum": [
                    "Idle",
                    "Waiting",
                    "Paused",
                    "Playing"
                ],
                "type": "string",
                "description": "Enum GroupState."
            },
            "GroupStateUpdate": {
                "type": "object",
                "properties": {
                    "State": {
                        "enum": [
                            "Idle",
                            "Waiting",
                            "Paused",
                            "Playing"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupStateType"
                            }
                        ],
                        "description": "Gets the state of the group."
                    },
                    "Reason": {
                        "enum": [
                            "Play",
                            "SetPlaylistItem",
                            "RemoveFromPlaylist",
                            "MovePlaylistItem",
                            "Queue",
                            "Unpause",
                            "Pause",
                            "Stop",
                            "Seek",
                            "Buffer",
                            "Ready",
                            "NextItem",
                            "PreviousItem",
                            "SetRepeatMode",
                            "SetShuffleMode",
                            "Ping",
                            "IgnoreWait"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlaybackRequestType"
                            }
                        ],
                        "description": "Gets the reason of the state change."
                    }
                },
                "additionalProperties": false,
                "description": "Class GroupStateUpdate."
            },
            "GroupStateUpdateGroupUpdate": {
                "type": "object",
                "properties": {
                    "GroupId": {
                        "type": "string",
                        "description": "Gets the group identifier.",
                        "format": "uuid",
                        "readOnly": true
                    },
                    "Type": {
                        "enum": [
                            "UserJoined",
                            "UserLeft",
                            "GroupJoined",
                            "GroupLeft",
                            "StateUpdate",
                            "PlayQueue",
                            "NotInGroup",
                            "GroupDoesNotExist",
                            "CreateGroupDenied",
                            "JoinGroupDenied",
                            "LibraryAccessDenied"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupUpdateType"
                            }
                        ],
                        "description": "Gets the update type."
                    },
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupStateUpdate"
                            }
                        ],
                        "description": "Gets the update data."
                    }
                },
                "additionalProperties": false,
                "description": "Class GroupUpdate."
            },
            "GroupUpdate": {
                "type": "object",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/GroupInfoDtoGroupUpdate"
                    },
                    {
                        "$ref": "#/components/schemas/GroupStateUpdateGroupUpdate"
                    },
                    {
                        "$ref": "#/components/schemas/StringGroupUpdate"
                    },
                    {
                        "$ref": "#/components/schemas/PlayQueueUpdateGroupUpdate"
                    }
                ],
                "properties": {
                    "GroupId": {
                        "type": "string",
                        "description": "Gets the group identifier.",
                        "format": "uuid",
                        "readOnly": true
                    },
                    "Type": {
                        "enum": [
                            "UserJoined",
                            "UserLeft",
                            "GroupJoined",
                            "GroupLeft",
                            "StateUpdate",
                            "PlayQueue",
                            "NotInGroup",
                            "GroupDoesNotExist",
                            "CreateGroupDenied",
                            "JoinGroupDenied",
                            "LibraryAccessDenied"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupUpdateType"
                            }
                        ],
                        "description": "Gets the update type."
                    }
                },
                "additionalProperties": false,
                "description": "Group update without data.",
                "discriminator": {
                    "propertyName": "Type",
                    "mapping": {
                        "UserJoined": "#/components/schemas/StringGroupUpdate",
                        "UserLeft": "#/components/schemas/StringGroupUpdate",
                        "GroupJoined": "#/components/schemas/GroupInfoDtoGroupUpdate",
                        "GroupLeft": "#/components/schemas/StringGroupUpdate",
                        "StateUpdate": "#/components/schemas/GroupStateUpdateGroupUpdate",
                        "PlayQueue": "#/components/schemas/PlayQueueUpdateGroupUpdate",
                        "NotInGroup": "#/components/schemas/StringGroupUpdate",
                        "GroupDoesNotExist": "#/components/schemas/StringGroupUpdate",
                        "LibraryAccessDenied": "#/components/schemas/StringGroupUpdate"
                    }
                }
            },
            "GroupUpdateType": {
                "enum": [
                    "UserJoined",
                    "UserLeft",
                    "GroupJoined",
                    "GroupLeft",
                    "StateUpdate",
                    "PlayQueue",
                    "NotInGroup",
                    "GroupDoesNotExist",
                    "CreateGroupDenied",
                    "JoinGroupDenied",
                    "LibraryAccessDenied"
                ],
                "type": "string",
                "description": "Enum GroupUpdateType."
            },
            "GuideInfo": {
                "type": "object",
                "properties": {
                    "StartDate": {
                        "type": "string",
                        "description": "Gets or sets the start date.",
                        "format": "date-time"
                    },
                    "EndDate": {
                        "type": "string",
                        "description": "Gets or sets the end date.",
                        "format": "date-time"
                    }
                },
                "additionalProperties": false
            },
            "HardwareAccelerationType": {
                "enum": [
                    "none",
                    "amf",
                    "qsv",
                    "nvenc",
                    "v4l2m2m",
                    "vaapi",
                    "videotoolbox",
                    "rkmpp"
                ],
                "type": "string",
                "description": "Enum containing hardware acceleration types."
            },
            "IgnoreWaitRequestDto": {
                "type": "object",
                "properties": {
                    "IgnoreWait": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the client should be ignored."
                    }
                },
                "additionalProperties": false,
                "description": "Class IgnoreWaitRequestDto."
            },
            "ImageFormat": {
                "enum": [
                    "Bmp",
                    "Gif",
                    "Jpg",
                    "Png",
                    "Webp",
                    "Svg"
                ],
                "type": "string",
                "description": "Enum ImageOutputFormat."
            },
            "ImageInfo": {
                "type": "object",
                "properties": {
                    "ImageType": {
                        "enum": [
                            "Primary",
                            "Art",
                            "Backdrop",
                            "Banner",
                            "Logo",
                            "Thumb",
                            "Disc",
                            "Box",
                            "Screenshot",
                            "Menu",
                            "Chapter",
                            "BoxRear",
                            "Profile"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        ],
                        "description": "Gets or sets the type of the image."
                    },
                    "ImageIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the image.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ImageTag": {
                        "type": "string",
                        "description": "Gets or sets the image tag.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "BlurHash": {
                        "type": "string",
                        "description": "Gets or sets the blurhash.",
                        "nullable": true
                    },
                    "Height": {
                        "type": "integer",
                        "description": "Gets or sets the height.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Width": {
                        "type": "integer",
                        "description": "Gets or sets the width.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Size": {
                        "type": "integer",
                        "description": "Gets or sets the size.",
                        "format": "int64"
                    }
                },
                "additionalProperties": false,
                "description": "Class ImageInfo."
            },
            "ImageOption": {
                "type": "object",
                "properties": {
                    "Type": {
                        "enum": [
                            "Primary",
                            "Art",
                            "Backdrop",
                            "Banner",
                            "Logo",
                            "Thumb",
                            "Disc",
                            "Box",
                            "Screenshot",
                            "Menu",
                            "Chapter",
                            "BoxRear",
                            "Profile"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        ],
                        "description": "Gets or sets the type."
                    },
                    "Limit": {
                        "type": "integer",
                        "description": "Gets or sets the limit.",
                        "format": "int32"
                    },
                    "MinWidth": {
                        "type": "integer",
                        "description": "Gets or sets the minimum width.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false
            },
            "ImageOrientation": {
                "enum": [
                    "TopLeft",
                    "TopRight",
                    "BottomRight",
                    "BottomLeft",
                    "LeftTop",
                    "RightTop",
                    "RightBottom",
                    "LeftBottom"
                ],
                "type": "string"
            },
            "ImageProviderInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets the name."
                    },
                    "SupportedImages": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ImageType"
                        },
                        "description": "Gets the supported image types."
                    }
                },
                "additionalProperties": false,
                "description": "Class ImageProviderInfo."
            },
            "ImageResolution": {
                "enum": [
                    "MatchSource",
                    "P144",
                    "P240",
                    "P360",
                    "P480",
                    "P720",
                    "P1080",
                    "P1440",
                    "P2160"
                ],
                "type": "string",
                "description": "Enum ImageResolution."
            },
            "ImageSavingConvention": {
                "enum": [
                    "Legacy",
                    "Compatible"
                ],
                "type": "string"
            },
            "ImageType": {
                "enum": [
                    "Primary",
                    "Art",
                    "Backdrop",
                    "Banner",
                    "Logo",
                    "Thumb",
                    "Disc",
                    "Box",
                    "Screenshot",
                    "Menu",
                    "Chapter",
                    "BoxRear",
                    "Profile"
                ],
                "type": "string",
                "description": "Enum ImageType."
            },
            "InboundKeepAliveMessage": {
                "type": "object",
                "properties": {
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "KeepAlive",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Keep alive websocket messages."
            },
            "InboundWebSocketMessage": {
                "type": "object",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/ActivityLogEntryStartMessage"
                    },
                    {
                        "$ref": "#/components/schemas/ActivityLogEntryStopMessage"
                    },
                    {
                        "$ref": "#/components/schemas/InboundKeepAliveMessage"
                    },
                    {
                        "$ref": "#/components/schemas/ScheduledTasksInfoStartMessage"
                    },
                    {
                        "$ref": "#/components/schemas/ScheduledTasksInfoStopMessage"
                    },
                    {
                        "$ref": "#/components/schemas/SessionsStartMessage"
                    },
                    {
                        "$ref": "#/components/schemas/SessionsStopMessage"
                    }
                ],
                "description": "Represents the list of possible inbound websocket types",
                "discriminator": {
                    "propertyName": "MessageType",
                    "mapping": {
                        "ActivityLogEntryStart": "#/components/schemas/ActivityLogEntryStartMessage",
                        "ActivityLogEntryStop": "#/components/schemas/ActivityLogEntryStopMessage",
                        "KeepAlive": "#/components/schemas/InboundKeepAliveMessage",
                        "ScheduledTasksInfoStart": "#/components/schemas/ScheduledTasksInfoStartMessage",
                        "ScheduledTasksInfoStop": "#/components/schemas/ScheduledTasksInfoStopMessage",
                        "SessionsStart": "#/components/schemas/SessionsStartMessage",
                        "SessionsStop": "#/components/schemas/SessionsStopMessage"
                    }
                }
            },
            "InstallationInfo": {
                "type": "object",
                "properties": {
                    "Guid": {
                        "type": "string",
                        "description": "Gets or sets the Id.",
                        "format": "uuid"
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Version": {
                        "type": "string",
                        "description": "Gets or sets the version.",
                        "nullable": true
                    },
                    "Changelog": {
                        "type": "string",
                        "description": "Gets or sets the changelog for this version.",
                        "nullable": true
                    },
                    "SourceUrl": {
                        "type": "string",
                        "description": "Gets or sets the source URL.",
                        "nullable": true
                    },
                    "Checksum": {
                        "type": "string",
                        "description": "Gets or sets a checksum for the binary.",
                        "nullable": true
                    },
                    "PackageInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PackageInfo"
                            }
                        ],
                        "description": "Gets or sets package information for the installation.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class InstallationInfo."
            },
            "IPlugin": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets the name of the plugin.",
                        "nullable": true,
                        "readOnly": true
                    },
                    "Description": {
                        "type": "string",
                        "description": "Gets the Description.",
                        "nullable": true,
                        "readOnly": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets the unique id.",
                        "format": "uuid",
                        "readOnly": true
                    },
                    "Version": {
                        "type": "string",
                        "description": "Gets the plugin version.",
                        "nullable": true,
                        "readOnly": true
                    },
                    "AssemblyFilePath": {
                        "type": "string",
                        "description": "Gets the path to the assembly file.",
                        "nullable": true,
                        "readOnly": true
                    },
                    "CanUninstall": {
                        "type": "boolean",
                        "description": "Gets a value indicating whether the plugin can be uninstalled.",
                        "readOnly": true
                    },
                    "DataFolderPath": {
                        "type": "string",
                        "description": "Gets the full path to the data folder, where the plugin can store any miscellaneous files needed.",
                        "nullable": true,
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Defines the MediaBrowser.Common.Plugins.IPlugin."
            },
            "IsoType": {
                "enum": [
                    "Dvd",
                    "BluRay"
                ],
                "type": "string",
                "description": "Enum IsoType."
            },
            "ItemCounts": {
                "type": "object",
                "properties": {
                    "MovieCount": {
                        "type": "integer",
                        "description": "Gets or sets the movie count.",
                        "format": "int32"
                    },
                    "SeriesCount": {
                        "type": "integer",
                        "description": "Gets or sets the series count.",
                        "format": "int32"
                    },
                    "EpisodeCount": {
                        "type": "integer",
                        "description": "Gets or sets the episode count.",
                        "format": "int32"
                    },
                    "ArtistCount": {
                        "type": "integer",
                        "description": "Gets or sets the artist count.",
                        "format": "int32"
                    },
                    "ProgramCount": {
                        "type": "integer",
                        "description": "Gets or sets the program count.",
                        "format": "int32"
                    },
                    "TrailerCount": {
                        "type": "integer",
                        "description": "Gets or sets the trailer count.",
                        "format": "int32"
                    },
                    "SongCount": {
                        "type": "integer",
                        "description": "Gets or sets the song count.",
                        "format": "int32"
                    },
                    "AlbumCount": {
                        "type": "integer",
                        "description": "Gets or sets the album count.",
                        "format": "int32"
                    },
                    "MusicVideoCount": {
                        "type": "integer",
                        "description": "Gets or sets the music video count.",
                        "format": "int32"
                    },
                    "BoxSetCount": {
                        "type": "integer",
                        "description": "Gets or sets the box set count.",
                        "format": "int32"
                    },
                    "BookCount": {
                        "type": "integer",
                        "description": "Gets or sets the book count.",
                        "format": "int32"
                    },
                    "ItemCount": {
                        "type": "integer",
                        "description": "Gets or sets the item count.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Class LibrarySummary."
            },
            "ItemFields": {
                "enum": [
                    "AirTime",
                    "CanDelete",
                    "CanDownload",
                    "ChannelInfo",
                    "Chapters",
                    "Trickplay",
                    "ChildCount",
                    "CumulativeRunTimeTicks",
                    "CustomRating",
                    "DateCreated",
                    "DateLastMediaAdded",
                    "DisplayPreferencesId",
                    "Etag",
                    "ExternalUrls",
                    "Genres",
                    "HomePageUrl",
                    "ItemCounts",
                    "MediaSourceCount",
                    "MediaSources",
                    "OriginalTitle",
                    "Overview",
                    "ParentId",
                    "Path",
                    "People",
                    "PlayAccess",
                    "ProductionLocations",
                    "ProviderIds",
                    "PrimaryImageAspectRatio",
                    "RecursiveItemCount",
                    "Settings",
                    "ScreenshotImageTags",
                    "SeriesPrimaryImage",
                    "SeriesStudio",
                    "SortName",
                    "SpecialEpisodeNumbers",
                    "Studios",
                    "Taglines",
                    "Tags",
                    "RemoteTrailers",
                    "MediaStreams",
                    "SeasonUserData",
                    "ServiceName",
                    "ThemeSongIds",
                    "ThemeVideoIds",
                    "ExternalEtag",
                    "PresentationUniqueKey",
                    "InheritedParentalRatingValue",
                    "ExternalSeriesId",
                    "SeriesPresentationUniqueKey",
                    "DateLastRefreshed",
                    "DateLastSaved",
                    "RefreshState",
                    "ChannelImage",
                    "EnableMediaSourceDisplay",
                    "Width",
                    "Height",
                    "ExtraIds",
                    "LocalTrailerCount",
                    "IsHD",
                    "SpecialFeatureCount"
                ],
                "type": "string",
                "description": "Used to control the data that gets attached to DtoBaseItems."
            },
            "ItemFilter": {
                "enum": [
                    "IsFolder",
                    "IsNotFolder",
                    "IsUnplayed",
                    "IsPlayed",
                    "IsFavorite",
                    "IsResumable",
                    "Likes",
                    "Dislikes",
                    "IsFavoriteOrLikes"
                ],
                "type": "string",
                "description": "Enum ItemFilter."
            },
            "ItemSortBy": {
                "enum": [
                    "Default",
                    "AiredEpisodeOrder",
                    "Album",
                    "AlbumArtist",
                    "Artist",
                    "DateCreated",
                    "OfficialRating",
                    "DatePlayed",
                    "PremiereDate",
                    "StartDate",
                    "SortName",
                    "Name",
                    "Random",
                    "Runtime",
                    "CommunityRating",
                    "ProductionYear",
                    "PlayCount",
                    "CriticRating",
                    "IsFolder",
                    "IsUnplayed",
                    "IsPlayed",
                    "SeriesSortName",
                    "VideoBitRate",
                    "AirTime",
                    "Studio",
                    "IsFavoriteOrLiked",
                    "DateLastContentAdded",
                    "SeriesDatePlayed",
                    "ParentIndexNumber",
                    "IndexNumber",
                    "SimilarityScore",
                    "SearchScore"
                ],
                "type": "string",
                "description": "These represent sort orders."
            },
            "JoinGroupRequestDto": {
                "type": "object",
                "properties": {
                    "GroupId": {
                        "type": "string",
                        "description": "Gets or sets the group identifier.",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false,
                "description": "Class JoinGroupRequestDto."
            },
            "KeepUntil": {
                "enum": [
                    "UntilDeleted",
                    "UntilSpaceNeeded",
                    "UntilWatched",
                    "UntilDate"
                ],
                "type": "string"
            },
            "LibraryChangedMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LibraryUpdateInfo"
                            }
                        ],
                        "description": "Class LibraryUpdateInfo.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "LibraryChanged",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Library changed message."
            },
            "LibraryOptionInfoDto": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets name.",
                        "nullable": true
                    },
                    "DefaultEnabled": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether default enabled."
                    }
                },
                "additionalProperties": false,
                "description": "Library option info dto."
            },
            "LibraryOptions": {
                "type": "object",
                "properties": {
                    "Enabled": {
                        "type": "boolean"
                    },
                    "EnablePhotos": {
                        "type": "boolean"
                    },
                    "EnableRealtimeMonitor": {
                        "type": "boolean"
                    },
                    "EnableLUFSScan": {
                        "type": "boolean"
                    },
                    "EnableChapterImageExtraction": {
                        "type": "boolean"
                    },
                    "ExtractChapterImagesDuringLibraryScan": {
                        "type": "boolean"
                    },
                    "EnableTrickplayImageExtraction": {
                        "type": "boolean"
                    },
                    "ExtractTrickplayImagesDuringLibraryScan": {
                        "type": "boolean"
                    },
                    "PathInfos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaPathInfo"
                        }
                    },
                    "SaveLocalMetadata": {
                        "type": "boolean"
                    },
                    "EnableInternetProviders": {
                        "type": "boolean",
                        "deprecated": true
                    },
                    "EnableAutomaticSeriesGrouping": {
                        "type": "boolean"
                    },
                    "EnableEmbeddedTitles": {
                        "type": "boolean"
                    },
                    "EnableEmbeddedExtrasTitles": {
                        "type": "boolean"
                    },
                    "EnableEmbeddedEpisodeInfos": {
                        "type": "boolean"
                    },
                    "AutomaticRefreshIntervalDays": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "PreferredMetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the preferred metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "SeasonZeroDisplayName": {
                        "type": "string"
                    },
                    "MetadataSavers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "DisabledLocalMetadataReaders": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "LocalMetadataReaderOrder": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "DisabledSubtitleFetchers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "SubtitleFetcherOrder": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "DisabledMediaSegmentProviders": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "MediaSegmentProvideOrder": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "SkipSubtitlesIfEmbeddedSubtitlesPresent": {
                        "type": "boolean"
                    },
                    "SkipSubtitlesIfAudioTrackMatches": {
                        "type": "boolean"
                    },
                    "SubtitleDownloadLanguages": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "RequirePerfectSubtitleMatch": {
                        "type": "boolean"
                    },
                    "SaveSubtitlesWithMedia": {
                        "type": "boolean"
                    },
                    "SaveLyricsWithMedia": {
                        "type": "boolean",
                        "default": false
                    },
                    "SaveTrickplayWithMedia": {
                        "type": "boolean",
                        "default": false
                    },
                    "DisabledLyricFetchers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "LyricFetcherOrder": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "PreferNonstandardArtistsTag": {
                        "type": "boolean",
                        "default": false
                    },
                    "UseCustomTagDelimiters": {
                        "type": "boolean",
                        "default": false
                    },
                    "CustomTagDelimiters": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "DelimiterWhitelist": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "AutomaticallyAddToCollection": {
                        "type": "boolean"
                    },
                    "AllowEmbeddedSubtitles": {
                        "enum": [
                            "AllowAll",
                            "AllowText",
                            "AllowImage",
                            "AllowNone"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/EmbeddedSubtitleOptions"
                            }
                        ],
                        "description": "An enum representing the options to disable embedded subs."
                    },
                    "TypeOptions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TypeOptions"
                        }
                    }
                },
                "additionalProperties": false
            },
            "LibraryOptionsResultDto": {
                "type": "object",
                "properties": {
                    "MetadataSavers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LibraryOptionInfoDto"
                        },
                        "description": "Gets or sets the metadata savers."
                    },
                    "MetadataReaders": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LibraryOptionInfoDto"
                        },
                        "description": "Gets or sets the metadata readers."
                    },
                    "SubtitleFetchers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LibraryOptionInfoDto"
                        },
                        "description": "Gets or sets the subtitle fetchers."
                    },
                    "LyricFetchers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LibraryOptionInfoDto"
                        },
                        "description": "Gets or sets the list of lyric fetchers."
                    },
                    "TypeOptions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LibraryTypeOptionsDto"
                        },
                        "description": "Gets or sets the type options."
                    }
                },
                "additionalProperties": false,
                "description": "Library options result dto."
            },
            "LibraryTypeOptionsDto": {
                "type": "object",
                "properties": {
                    "Type": {
                        "type": "string",
                        "description": "Gets or sets the type.",
                        "nullable": true
                    },
                    "MetadataFetchers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LibraryOptionInfoDto"
                        },
                        "description": "Gets or sets the metadata fetchers."
                    },
                    "ImageFetchers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LibraryOptionInfoDto"
                        },
                        "description": "Gets or sets the image fetchers."
                    },
                    "SupportedImageTypes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ImageType"
                        },
                        "description": "Gets or sets the supported image types."
                    },
                    "DefaultImageOptions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ImageOption"
                        },
                        "description": "Gets or sets the default image options."
                    }
                },
                "additionalProperties": false,
                "description": "Library type options dto."
            },
            "LibraryUpdateInfo": {
                "type": "object",
                "properties": {
                    "FoldersAddedTo": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the folders added to."
                    },
                    "FoldersRemovedFrom": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the folders removed from."
                    },
                    "ItemsAdded": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the items added."
                    },
                    "ItemsRemoved": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the items removed."
                    },
                    "ItemsUpdated": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the items updated."
                    },
                    "CollectionFolders": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "IsEmpty": {
                        "type": "boolean",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Class LibraryUpdateInfo."
            },
            "ListingsProviderInfo": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "nullable": true
                    },
                    "Type": {
                        "type": "string",
                        "nullable": true
                    },
                    "Username": {
                        "type": "string",
                        "nullable": true
                    },
                    "Password": {
                        "type": "string",
                        "nullable": true
                    },
                    "ListingsId": {
                        "type": "string",
                        "nullable": true
                    },
                    "ZipCode": {
                        "type": "string",
                        "nullable": true
                    },
                    "Country": {
                        "type": "string",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "nullable": true
                    },
                    "EnabledTuners": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "EnableAllTuners": {
                        "type": "boolean"
                    },
                    "NewsCategories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "SportsCategories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "KidsCategories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "MovieCategories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "ChannelMappings": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameValuePair"
                        },
                        "nullable": true
                    },
                    "MoviePrefix": {
                        "type": "string",
                        "nullable": true
                    },
                    "PreferredLanguage": {
                        "type": "string",
                        "nullable": true
                    },
                    "UserAgent": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "LiveStreamResponse": {
                "type": "object",
                "properties": {
                    "MediaSource": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaSourceInfo"
                            }
                        ]
                    }
                },
                "additionalProperties": false
            },
            "LiveTvInfo": {
                "type": "object",
                "properties": {
                    "Services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LiveTvServiceInfo"
                        },
                        "description": "Gets or sets the services."
                    },
                    "IsEnabled": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is enabled."
                    },
                    "EnabledUsers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the enabled users."
                    }
                },
                "additionalProperties": false
            },
            "LiveTvOptions": {
                "type": "object",
                "properties": {
                    "GuideDays": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "RecordingPath": {
                        "type": "string",
                        "nullable": true
                    },
                    "MovieRecordingPath": {
                        "type": "string",
                        "nullable": true
                    },
                    "SeriesRecordingPath": {
                        "type": "string",
                        "nullable": true
                    },
                    "EnableRecordingSubfolders": {
                        "type": "boolean"
                    },
                    "EnableOriginalAudioWithEncodedRecordings": {
                        "type": "boolean"
                    },
                    "TunerHosts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TunerHostInfo"
                        },
                        "nullable": true
                    },
                    "ListingProviders": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ListingsProviderInfo"
                        },
                        "nullable": true
                    },
                    "PrePaddingSeconds": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "PostPaddingSeconds": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "MediaLocationsCreated": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "RecordingPostProcessor": {
                        "type": "string",
                        "nullable": true
                    },
                    "RecordingPostProcessorArguments": {
                        "type": "string",
                        "nullable": true
                    },
                    "SaveRecordingNFO": {
                        "type": "boolean"
                    },
                    "SaveRecordingImages": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "LiveTvServiceInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "HomePageUrl": {
                        "type": "string",
                        "description": "Gets or sets the home page URL.",
                        "nullable": true
                    },
                    "Status": {
                        "enum": [
                            "Ok",
                            "Unavailable"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LiveTvServiceStatus"
                            }
                        ],
                        "description": "Gets or sets the status."
                    },
                    "StatusMessage": {
                        "type": "string",
                        "description": "Gets or sets the status message.",
                        "nullable": true
                    },
                    "Version": {
                        "type": "string",
                        "description": "Gets or sets the version.",
                        "nullable": true
                    },
                    "HasUpdateAvailable": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance has update available."
                    },
                    "IsVisible": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is visible."
                    },
                    "Tuners": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class ServiceInfo."
            },
            "LiveTvServiceStatus": {
                "enum": [
                    "Ok",
                    "Unavailable"
                ],
                "type": "string"
            },
            "LocalizationOption": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "nullable": true
                    },
                    "Value": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "LocationType": {
                "enum": [
                    "FileSystem",
                    "Remote",
                    "Virtual",
                    "Offline"
                ],
                "type": "string",
                "description": "Enum LocationType."
            },
            "LogFile": {
                "type": "object",
                "properties": {
                    "DateCreated": {
                        "type": "string",
                        "description": "Gets or sets the date created.",
                        "format": "date-time"
                    },
                    "DateModified": {
                        "type": "string",
                        "description": "Gets or sets the date modified.",
                        "format": "date-time"
                    },
                    "Size": {
                        "type": "integer",
                        "description": "Gets or sets the size.",
                        "format": "int64"
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name."
                    }
                },
                "additionalProperties": false
            },
            "LoginInfoInput": {
                "required": [
                    "Password",
                    "Username"
                ],
                "type": "object",
                "properties": {
                    "Username": {
                        "type": "string"
                    },
                    "Password": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "LogLevel": {
                "enum": [
                    "Trace",
                    "Debug",
                    "Information",
                    "Warning",
                    "Error",
                    "Critical",
                    "None"
                ],
                "type": "string"
            },
            "LyricDto": {
                "type": "object",
                "properties": {
                    "Metadata": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LyricMetadata"
                            }
                        ],
                        "description": "Gets or sets Metadata for the lyrics."
                    },
                    "Lyrics": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LyricLine"
                        },
                        "description": "Gets or sets a collection of individual lyric lines."
                    }
                },
                "additionalProperties": false,
                "description": "LyricResponse model."
            },
            "LyricLine": {
                "type": "object",
                "properties": {
                    "Text": {
                        "type": "string",
                        "description": "Gets the text of this lyric line."
                    },
                    "Start": {
                        "type": "integer",
                        "description": "Gets the start time in ticks.",
                        "format": "int64",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Lyric model."
            },
            "LyricMetadata": {
                "type": "object",
                "properties": {
                    "Artist": {
                        "type": "string",
                        "description": "Gets or sets the song artist.",
                        "nullable": true
                    },
                    "Album": {
                        "type": "string",
                        "description": "Gets or sets the album this song is on.",
                        "nullable": true
                    },
                    "Title": {
                        "type": "string",
                        "description": "Gets or sets the title of the song.",
                        "nullable": true
                    },
                    "Author": {
                        "type": "string",
                        "description": "Gets or sets the author of the lyric data.",
                        "nullable": true
                    },
                    "Length": {
                        "type": "integer",
                        "description": "Gets or sets the length of the song in ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "By": {
                        "type": "string",
                        "description": "Gets or sets who the LRC file was created by.",
                        "nullable": true
                    },
                    "Offset": {
                        "type": "integer",
                        "description": "Gets or sets the lyric offset compared to audio in ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "Creator": {
                        "type": "string",
                        "description": "Gets or sets the software used to create the LRC file.",
                        "nullable": true
                    },
                    "Version": {
                        "type": "string",
                        "description": "Gets or sets the version of the creator used.",
                        "nullable": true
                    },
                    "IsSynced": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this lyric is synced.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "LyricMetadata model."
            },
            "MediaAttachment": {
                "type": "object",
                "properties": {
                    "Codec": {
                        "type": "string",
                        "description": "Gets or sets the codec.",
                        "nullable": true
                    },
                    "CodecTag": {
                        "type": "string",
                        "description": "Gets or sets the codec tag.",
                        "nullable": true
                    },
                    "Comment": {
                        "type": "string",
                        "description": "Gets or sets the comment.",
                        "nullable": true
                    },
                    "Index": {
                        "type": "integer",
                        "description": "Gets or sets the index.",
                        "format": "int32"
                    },
                    "FileName": {
                        "type": "string",
                        "description": "Gets or sets the filename.",
                        "nullable": true
                    },
                    "MimeType": {
                        "type": "string",
                        "description": "Gets or sets the MIME type.",
                        "nullable": true
                    },
                    "DeliveryUrl": {
                        "type": "string",
                        "description": "Gets or sets the delivery URL.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class MediaAttachment."
            },
            "MediaPathDto": {
                "required": [
                    "Name"
                ],
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name of the library."
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path to add.",
                        "nullable": true
                    },
                    "PathInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaPathInfo"
                            }
                        ],
                        "description": "Gets or sets the path info.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Media Path dto."
            },
            "MediaPathInfo": {
                "type": "object",
                "properties": {
                    "Path": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "MediaProtocol": {
                "enum": [
                    "File",
                    "Http",
                    "Rtmp",
                    "Rtsp",
                    "Udp",
                    "Rtp",
                    "Ftp"
                ],
                "type": "string"
            },
            "MediaSegmentDto": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the id of the media segment.",
                        "format": "uuid"
                    },
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the id of the associated item.",
                        "format": "uuid"
                    },
                    "Type": {
                        "enum": [
                            "Unknown",
                            "Commercial",
                            "Preview",
                            "Recap",
                            "Outro",
                            "Intro"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaSegmentType"
                            }
                        ],
                        "description": "Gets or sets the type of content this segment defines.",
                        "default": "Unknown"
                    },
                    "StartTicks": {
                        "type": "integer",
                        "description": "Gets or sets the start of the segment.",
                        "format": "int64"
                    },
                    "EndTicks": {
                        "type": "integer",
                        "description": "Gets or sets the end of the segment.",
                        "format": "int64"
                    }
                },
                "additionalProperties": false,
                "description": "Api model for MediaSegment's."
            },
            "MediaSegmentDtoQueryResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaSegmentDto"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Query result container."
            },
            "MediaSegmentType": {
                "enum": [
                    "Unknown",
                    "Commercial",
                    "Preview",
                    "Recap",
                    "Outro",
                    "Intro"
                ],
                "type": "string",
                "description": "Defines the types of content an individual Jellyfin.Data.Entities.MediaSegment represents."
            },
            "MediaSourceInfo": {
                "type": "object",
                "properties": {
                    "Protocol": {
                        "enum": [
                            "File",
                            "Http",
                            "Rtmp",
                            "Rtsp",
                            "Udp",
                            "Rtp",
                            "Ftp"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaProtocol"
                            }
                        ]
                    },
                    "Id": {
                        "type": "string",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "nullable": true
                    },
                    "EncoderPath": {
                        "type": "string",
                        "nullable": true
                    },
                    "EncoderProtocol": {
                        "enum": [
                            "File",
                            "Http",
                            "Rtmp",
                            "Rtsp",
                            "Udp",
                            "Rtp",
                            "Ftp"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaProtocol"
                            }
                        ],
                        "nullable": true
                    },
                    "Type": {
                        "enum": [
                            "Default",
                            "Grouping",
                            "Placeholder"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaSourceType"
                            }
                        ]
                    },
                    "Container": {
                        "type": "string",
                        "nullable": true
                    },
                    "Size": {
                        "type": "integer",
                        "format": "int64",
                        "nullable": true
                    },
                    "Name": {
                        "type": "string",
                        "nullable": true
                    },
                    "IsRemote": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the media is remote.\r\nDifferentiate internet url vs local network."
                    },
                    "ETag": {
                        "type": "string",
                        "nullable": true
                    },
                    "RunTimeTicks": {
                        "type": "integer",
                        "format": "int64",
                        "nullable": true
                    },
                    "ReadAtNativeFramerate": {
                        "type": "boolean"
                    },
                    "IgnoreDts": {
                        "type": "boolean"
                    },
                    "IgnoreIndex": {
                        "type": "boolean"
                    },
                    "GenPtsInput": {
                        "type": "boolean"
                    },
                    "SupportsTranscoding": {
                        "type": "boolean"
                    },
                    "SupportsDirectStream": {
                        "type": "boolean"
                    },
                    "SupportsDirectPlay": {
                        "type": "boolean"
                    },
                    "IsInfiniteStream": {
                        "type": "boolean"
                    },
                    "UseMostCompatibleTranscodingProfile": {
                        "type": "boolean",
                        "default": false
                    },
                    "RequiresOpening": {
                        "type": "boolean"
                    },
                    "OpenToken": {
                        "type": "string",
                        "nullable": true
                    },
                    "RequiresClosing": {
                        "type": "boolean"
                    },
                    "LiveStreamId": {
                        "type": "string",
                        "nullable": true
                    },
                    "BufferMs": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "RequiresLooping": {
                        "type": "boolean"
                    },
                    "SupportsProbing": {
                        "type": "boolean"
                    },
                    "VideoType": {
                        "enum": [
                            "VideoFile",
                            "Iso",
                            "Dvd",
                            "BluRay"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/VideoType"
                            }
                        ],
                        "nullable": true
                    },
                    "IsoType": {
                        "enum": [
                            "Dvd",
                            "BluRay"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/IsoType"
                            }
                        ],
                        "nullable": true
                    },
                    "Video3DFormat": {
                        "enum": [
                            "HalfSideBySide",
                            "FullSideBySide",
                            "FullTopAndBottom",
                            "HalfTopAndBottom",
                            "MVC"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/Video3DFormat"
                            }
                        ],
                        "nullable": true
                    },
                    "MediaStreams": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaStream"
                        },
                        "nullable": true
                    },
                    "MediaAttachments": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaAttachment"
                        },
                        "nullable": true
                    },
                    "Formats": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "Bitrate": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "FallbackMaxStreamingBitrate": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "Timestamp": {
                        "enum": [
                            "None",
                            "Zero",
                            "Valid"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TransportStreamTimestamp"
                            }
                        ],
                        "nullable": true
                    },
                    "RequiredHttpHeaders": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "nullable": true
                    },
                    "TranscodingUrl": {
                        "type": "string",
                        "nullable": true
                    },
                    "TranscodingSubProtocol": {
                        "enum": [
                            "http",
                            "hls"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaStreamProtocol"
                            }
                        ],
                        "description": "Media streaming protocol.\r\nLowercase for backwards compatibility."
                    },
                    "TranscodingContainer": {
                        "type": "string",
                        "nullable": true
                    },
                    "AnalyzeDurationMs": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "DefaultAudioStreamIndex": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "DefaultSubtitleStreamIndex": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "HasSegments": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "MediaSourceType": {
                "enum": [
                    "Default",
                    "Grouping",
                    "Placeholder"
                ],
                "type": "string"
            },
            "MediaStream": {
                "type": "object",
                "properties": {
                    "Codec": {
                        "type": "string",
                        "description": "Gets or sets the codec.",
                        "nullable": true
                    },
                    "CodecTag": {
                        "type": "string",
                        "description": "Gets or sets the codec tag.",
                        "nullable": true
                    },
                    "Language": {
                        "type": "string",
                        "description": "Gets or sets the language.",
                        "nullable": true
                    },
                    "ColorRange": {
                        "type": "string",
                        "description": "Gets or sets the color range.",
                        "nullable": true
                    },
                    "ColorSpace": {
                        "type": "string",
                        "description": "Gets or sets the color space.",
                        "nullable": true
                    },
                    "ColorTransfer": {
                        "type": "string",
                        "description": "Gets or sets the color transfer.",
                        "nullable": true
                    },
                    "ColorPrimaries": {
                        "type": "string",
                        "description": "Gets or sets the color primaries.",
                        "nullable": true
                    },
                    "DvVersionMajor": {
                        "type": "integer",
                        "description": "Gets or sets the Dolby Vision version major.",
                        "format": "int32",
                        "nullable": true
                    },
                    "DvVersionMinor": {
                        "type": "integer",
                        "description": "Gets or sets the Dolby Vision version minor.",
                        "format": "int32",
                        "nullable": true
                    },
                    "DvProfile": {
                        "type": "integer",
                        "description": "Gets or sets the Dolby Vision profile.",
                        "format": "int32",
                        "nullable": true
                    },
                    "DvLevel": {
                        "type": "integer",
                        "description": "Gets or sets the Dolby Vision level.",
                        "format": "int32",
                        "nullable": true
                    },
                    "RpuPresentFlag": {
                        "type": "integer",
                        "description": "Gets or sets the Dolby Vision rpu present flag.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ElPresentFlag": {
                        "type": "integer",
                        "description": "Gets or sets the Dolby Vision el present flag.",
                        "format": "int32",
                        "nullable": true
                    },
                    "BlPresentFlag": {
                        "type": "integer",
                        "description": "Gets or sets the Dolby Vision bl present flag.",
                        "format": "int32",
                        "nullable": true
                    },
                    "DvBlSignalCompatibilityId": {
                        "type": "integer",
                        "description": "Gets or sets the Dolby Vision bl signal compatibility id.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Rotation": {
                        "type": "integer",
                        "description": "Gets or sets the Rotation in degrees.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Comment": {
                        "type": "string",
                        "description": "Gets or sets the comment.",
                        "nullable": true
                    },
                    "TimeBase": {
                        "type": "string",
                        "description": "Gets or sets the time base.",
                        "nullable": true
                    },
                    "CodecTimeBase": {
                        "type": "string",
                        "description": "Gets or sets the codec time base.",
                        "nullable": true
                    },
                    "Title": {
                        "type": "string",
                        "description": "Gets or sets the title.",
                        "nullable": true
                    },
                    "VideoRange": {
                        "enum": [
                            "Unknown",
                            "SDR",
                            "HDR"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/VideoRange"
                            }
                        ],
                        "description": "Gets the video range.",
                        "default": "Unknown",
                        "readOnly": true
                    },
                    "VideoRangeType": {
                        "enum": [
                            "Unknown",
                            "SDR",
                            "HDR10",
                            "HLG",
                            "DOVI",
                            "DOVIWithHDR10",
                            "DOVIWithHLG",
                            "DOVIWithSDR",
                            "HDR10Plus"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/VideoRangeType"
                            }
                        ],
                        "description": "Gets the video range type.",
                        "default": "Unknown",
                        "readOnly": true
                    },
                    "VideoDoViTitle": {
                        "type": "string",
                        "description": "Gets the video dovi title.",
                        "nullable": true,
                        "readOnly": true
                    },
                    "AudioSpatialFormat": {
                        "enum": [
                            "None",
                            "DolbyAtmos",
                            "DTSX"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/AudioSpatialFormat"
                            }
                        ],
                        "description": "Gets the audio spatial format.",
                        "default": "None",
                        "readOnly": true
                    },
                    "LocalizedUndefined": {
                        "type": "string",
                        "nullable": true
                    },
                    "LocalizedDefault": {
                        "type": "string",
                        "nullable": true
                    },
                    "LocalizedForced": {
                        "type": "string",
                        "nullable": true
                    },
                    "LocalizedExternal": {
                        "type": "string",
                        "nullable": true
                    },
                    "LocalizedHearingImpaired": {
                        "type": "string",
                        "nullable": true
                    },
                    "DisplayTitle": {
                        "type": "string",
                        "nullable": true,
                        "readOnly": true
                    },
                    "NalLengthSize": {
                        "type": "string",
                        "nullable": true
                    },
                    "IsInterlaced": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is interlaced."
                    },
                    "IsAVC": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "ChannelLayout": {
                        "type": "string",
                        "description": "Gets or sets the channel layout.",
                        "nullable": true
                    },
                    "BitRate": {
                        "type": "integer",
                        "description": "Gets or sets the bit rate.",
                        "format": "int32",
                        "nullable": true
                    },
                    "BitDepth": {
                        "type": "integer",
                        "description": "Gets or sets the bit depth.",
                        "format": "int32",
                        "nullable": true
                    },
                    "RefFrames": {
                        "type": "integer",
                        "description": "Gets or sets the reference frames.",
                        "format": "int32",
                        "nullable": true
                    },
                    "PacketLength": {
                        "type": "integer",
                        "description": "Gets or sets the length of the packet.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Channels": {
                        "type": "integer",
                        "description": "Gets or sets the channels.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SampleRate": {
                        "type": "integer",
                        "description": "Gets or sets the sample rate.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IsDefault": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is default."
                    },
                    "IsForced": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is forced."
                    },
                    "IsHearingImpaired": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is for the hearing impaired."
                    },
                    "Height": {
                        "type": "integer",
                        "description": "Gets or sets the height.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Width": {
                        "type": "integer",
                        "description": "Gets or sets the width.",
                        "format": "int32",
                        "nullable": true
                    },
                    "AverageFrameRate": {
                        "type": "number",
                        "description": "Gets or sets the average frame rate.",
                        "format": "float",
                        "nullable": true
                    },
                    "RealFrameRate": {
                        "type": "number",
                        "description": "Gets or sets the real frame rate.",
                        "format": "float",
                        "nullable": true
                    },
                    "ReferenceFrameRate": {
                        "type": "number",
                        "description": "Gets the framerate used as reference.\r\nPrefer AverageFrameRate, if that is null or an unrealistic value\r\nthen fallback to RealFrameRate.",
                        "format": "float",
                        "nullable": true,
                        "readOnly": true
                    },
                    "Profile": {
                        "type": "string",
                        "description": "Gets or sets the profile.",
                        "nullable": true
                    },
                    "Type": {
                        "enum": [
                            "Audio",
                            "Video",
                            "Subtitle",
                            "EmbeddedImage",
                            "Data",
                            "Lyric"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaStreamType"
                            }
                        ],
                        "description": "Gets or sets the type."
                    },
                    "AspectRatio": {
                        "type": "string",
                        "description": "Gets or sets the aspect ratio.",
                        "nullable": true
                    },
                    "Index": {
                        "type": "integer",
                        "description": "Gets or sets the index.",
                        "format": "int32"
                    },
                    "Score": {
                        "type": "integer",
                        "description": "Gets or sets the score.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IsExternal": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is external."
                    },
                    "DeliveryMethod": {
                        "enum": [
                            "Encode",
                            "Embed",
                            "External",
                            "Hls",
                            "Drop"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                            }
                        ],
                        "description": "Gets or sets the method.",
                        "nullable": true
                    },
                    "DeliveryUrl": {
                        "type": "string",
                        "description": "Gets or sets the delivery URL.",
                        "nullable": true
                    },
                    "IsExternalUrl": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is external URL.",
                        "nullable": true
                    },
                    "IsTextSubtitleStream": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "SupportsExternalStream": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [supports external stream]."
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the filename.",
                        "nullable": true
                    },
                    "PixelFormat": {
                        "type": "string",
                        "description": "Gets or sets the pixel format.",
                        "nullable": true
                    },
                    "Level": {
                        "type": "number",
                        "description": "Gets or sets the level.",
                        "format": "double",
                        "nullable": true
                    },
                    "IsAnamorphic": {
                        "type": "boolean",
                        "description": "Gets or sets whether this instance is anamorphic.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class MediaStream."
            },
            "MediaStreamProtocol": {
                "enum": [
                    "http",
                    "hls"
                ],
                "type": "string",
                "description": "Media streaming protocol.\r\nLowercase for backwards compatibility."
            },
            "MediaStreamType": {
                "enum": [
                    "Audio",
                    "Video",
                    "Subtitle",
                    "EmbeddedImage",
                    "Data",
                    "Lyric"
                ],
                "type": "string",
                "description": "Enum MediaStreamType."
            },
            "MediaType": {
                "enum": [
                    "Unknown",
                    "Video",
                    "Audio",
                    "Photo",
                    "Book"
                ],
                "type": "string",
                "description": "Media types."
            },
            "MediaUpdateInfoDto": {
                "type": "object",
                "properties": {
                    "Updates": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaUpdateInfoPathDto"
                        },
                        "description": "Gets or sets the list of updates."
                    }
                },
                "additionalProperties": false,
                "description": "Media Update Info Dto."
            },
            "MediaUpdateInfoPathDto": {
                "type": "object",
                "properties": {
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets media path.",
                        "nullable": true
                    },
                    "UpdateType": {
                        "type": "string",
                        "description": "Gets or sets media update type.\r\nCreated, Modified, Deleted.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "The media update info path."
            },
            "MediaUrl": {
                "type": "object",
                "properties": {
                    "Url": {
                        "type": "string",
                        "nullable": true
                    },
                    "Name": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "MessageCommand": {
                "required": [
                    "Text"
                ],
                "type": "object",
                "properties": {
                    "Header": {
                        "type": "string",
                        "nullable": true
                    },
                    "Text": {
                        "type": "string"
                    },
                    "TimeoutMs": {
                        "type": "integer",
                        "format": "int64",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "MetadataConfiguration": {
                "type": "object",
                "properties": {
                    "UseFileCreationTimeForDateAdded": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "MetadataEditorInfo": {
                "type": "object",
                "properties": {
                    "ParentalRatingOptions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ParentalRating"
                        }
                    },
                    "Countries": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CountryInfo"
                        }
                    },
                    "Cultures": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CultureDto"
                        }
                    },
                    "ExternalIdInfos": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ExternalIdInfo"
                        }
                    },
                    "ContentType": {
                        "enum": [
                            "unknown",
                            "movies",
                            "tvshows",
                            "music",
                            "musicvideos",
                            "trailers",
                            "homevideos",
                            "boxsets",
                            "books",
                            "photos",
                            "livetv",
                            "playlists",
                            "folders"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/CollectionType"
                            }
                        ],
                        "nullable": true
                    },
                    "ContentTypeOptions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameValuePair"
                        }
                    }
                },
                "additionalProperties": false
            },
            "MetadataField": {
                "enum": [
                    "Cast",
                    "Genres",
                    "ProductionLocations",
                    "Studios",
                    "Tags",
                    "Name",
                    "Overview",
                    "Runtime",
                    "OfficialRating"
                ],
                "type": "string",
                "description": "Enum MetadataFields."
            },
            "MetadataOptions": {
                "type": "object",
                "properties": {
                    "ItemType": {
                        "type": "string",
                        "nullable": true
                    },
                    "DisabledMetadataSavers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "LocalMetadataReaderOrder": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "DisabledMetadataFetchers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "MetadataFetcherOrder": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "DisabledImageFetchers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "ImageFetcherOrder": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class MetadataOptions."
            },
            "MetadataRefreshMode": {
                "enum": [
                    "None",
                    "ValidationOnly",
                    "Default",
                    "FullRefresh"
                ],
                "type": "string"
            },
            "MovePlaylistItemRequestDto": {
                "type": "object",
                "properties": {
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets or sets the playlist identifier of the item.",
                        "format": "uuid"
                    },
                    "NewIndex": {
                        "type": "integer",
                        "description": "Gets or sets the new position.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Class MovePlaylistItemRequestDto."
            },
            "MovieInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "MovieInfoRemoteSearchQuery": {
                "type": "object",
                "properties": {
                    "SearchInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MovieInfo"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "description": "Gets or sets the provider name to search within if set.",
                        "nullable": true
                    },
                    "IncludeDisabledProviders": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether disabled providers should be included."
                    }
                },
                "additionalProperties": false
            },
            "MusicVideoInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    },
                    "Artists": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "MusicVideoInfoRemoteSearchQuery": {
                "type": "object",
                "properties": {
                    "SearchInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MusicVideoInfo"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "description": "Gets or sets the provider name to search within if set.",
                        "nullable": true
                    },
                    "IncludeDisabledProviders": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether disabled providers should be included."
                    }
                },
                "additionalProperties": false
            },
            "NameGuidPair": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false
            },
            "NameIdPair": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the identifier.",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "NameValuePair": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Value": {
                        "type": "string",
                        "description": "Gets or sets the value.",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "NetworkConfiguration": {
                "type": "object",
                "properties": {
                    "BaseUrl": {
                        "type": "string",
                        "description": "Gets or sets a value used to specify the URL prefix that your Jellyfin instance can be accessed at."
                    },
                    "EnableHttps": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to use HTTPS."
                    },
                    "RequireHttps": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the server should force connections over HTTPS."
                    },
                    "CertificatePath": {
                        "type": "string",
                        "description": "Gets or sets the filesystem path of an X.509 certificate to use for SSL."
                    },
                    "CertificatePassword": {
                        "type": "string",
                        "description": "Gets or sets the password required to access the X.509 certificate data in the file specified by MediaBrowser.Common.Net.NetworkConfiguration.CertificatePath."
                    },
                    "InternalHttpPort": {
                        "type": "integer",
                        "description": "Gets or sets the internal HTTP server port.",
                        "format": "int32"
                    },
                    "InternalHttpsPort": {
                        "type": "integer",
                        "description": "Gets or sets the internal HTTPS server port.",
                        "format": "int32"
                    },
                    "PublicHttpPort": {
                        "type": "integer",
                        "description": "Gets or sets the public HTTP port.",
                        "format": "int32"
                    },
                    "PublicHttpsPort": {
                        "type": "integer",
                        "description": "Gets or sets the public HTTPS port.",
                        "format": "int32"
                    },
                    "AutoDiscovery": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether Autodiscovery is enabled."
                    },
                    "EnableUPnP": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to enable automatic port forwarding."
                    },
                    "EnableIPv4": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether IPv6 is enabled."
                    },
                    "EnableIPv6": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether IPv6 is enabled."
                    },
                    "EnableRemoteAccess": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether access from outside of the LAN is permitted."
                    },
                    "LocalNetworkSubnets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the subnets that are deemed to make up the LAN."
                    },
                    "LocalNetworkAddresses": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the interface addresses which Jellyfin will bind to. If empty, all interfaces will be used."
                    },
                    "KnownProxies": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the known proxies."
                    },
                    "IgnoreVirtualInterfaces": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether address names that match MediaBrowser.Common.Net.NetworkConfiguration.VirtualInterfaceNames should be ignored for the purposes of binding."
                    },
                    "VirtualInterfaceNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets a value indicating the interface name prefixes that should be ignored. The list can be comma separated and values are case-insensitive. <seealso cref=\"P:MediaBrowser.Common.Net.NetworkConfiguration.IgnoreVirtualInterfaces\" />."
                    },
                    "EnablePublishedServerUriByRequest": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the published server uri is based on information in HTTP requests."
                    },
                    "PublishedServerUriBySubnet": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the PublishedServerUriBySubnet\r\nGets or sets PublishedServerUri to advertise for specific subnets."
                    },
                    "RemoteIPFilter": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the filter for remote IP connectivity. Used in conjunction with <seealso cref=\"P:MediaBrowser.Common.Net.NetworkConfiguration.IsRemoteIPFilterBlacklist\" />."
                    },
                    "IsRemoteIPFilterBlacklist": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether <seealso cref=\"P:MediaBrowser.Common.Net.NetworkConfiguration.RemoteIPFilter\" /> contains a blacklist or a whitelist. Default is a whitelist."
                    }
                },
                "additionalProperties": false,
                "description": "Defines the MediaBrowser.Common.Net.NetworkConfiguration."
            },
            "NewGroupRequestDto": {
                "type": "object",
                "properties": {
                    "GroupName": {
                        "type": "string",
                        "description": "Gets or sets the group name."
                    }
                },
                "additionalProperties": false,
                "description": "Class NewGroupRequestDto."
            },
            "NextItemRequestDto": {
                "type": "object",
                "properties": {
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets or sets the playing item identifier.",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false,
                "description": "Class NextItemRequestDto."
            },
            "OpenLiveStreamDto": {
                "type": "object",
                "properties": {
                    "OpenToken": {
                        "type": "string",
                        "description": "Gets or sets the open token.",
                        "nullable": true
                    },
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets the user id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "PlaySessionId": {
                        "type": "string",
                        "description": "Gets or sets the play session id.",
                        "nullable": true
                    },
                    "MaxStreamingBitrate": {
                        "type": "integer",
                        "description": "Gets or sets the max streaming bitrate.",
                        "format": "int32",
                        "nullable": true
                    },
                    "StartTimeTicks": {
                        "type": "integer",
                        "description": "Gets or sets the start time in ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "AudioStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the audio stream index.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SubtitleStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the subtitle stream index.",
                        "format": "int32",
                        "nullable": true
                    },
                    "MaxAudioChannels": {
                        "type": "integer",
                        "description": "Gets or sets the max audio channels.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the item id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "EnableDirectPlay": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to enable direct play.",
                        "nullable": true
                    },
                    "EnableDirectStream": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to enale direct stream.",
                        "nullable": true
                    },
                    "AlwaysBurnInSubtitleWhenTranscoding": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether always burn in subtitles when transcoding.",
                        "nullable": true
                    },
                    "DeviceProfile": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DeviceProfile"
                            }
                        ],
                        "description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n<br />\r\nSpecifically, it defines the supported <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles\">containers</see> and\r\n<see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles\">codecs</see> (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles\">containers/codecs to transcode to</see> in case it isn't.",
                        "nullable": true
                    },
                    "DirectPlayProtocols": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaProtocol"
                        },
                        "description": "Gets or sets the device play protocols."
                    }
                },
                "additionalProperties": false,
                "description": "Open live stream dto."
            },
            "OutboundKeepAliveMessage": {
                "type": "object",
                "properties": {
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "KeepAlive",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Keep alive websocket messages."
            },
            "OutboundWebSocketMessage": {
                "type": "object",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/ActivityLogEntryMessage"
                    },
                    {
                        "$ref": "#/components/schemas/ForceKeepAliveMessage"
                    },
                    {
                        "$ref": "#/components/schemas/GeneralCommandMessage"
                    },
                    {
                        "$ref": "#/components/schemas/LibraryChangedMessage"
                    },
                    {
                        "$ref": "#/components/schemas/OutboundKeepAliveMessage"
                    },
                    {
                        "$ref": "#/components/schemas/PlayMessage"
                    },
                    {
                        "$ref": "#/components/schemas/PlaystateMessage"
                    },
                    {
                        "$ref": "#/components/schemas/PluginInstallationCancelledMessage"
                    },
                    {
                        "$ref": "#/components/schemas/PluginInstallationCompletedMessage"
                    },
                    {
                        "$ref": "#/components/schemas/PluginInstallationFailedMessage"
                    },
                    {
                        "$ref": "#/components/schemas/PluginInstallingMessage"
                    },
                    {
                        "$ref": "#/components/schemas/PluginUninstalledMessage"
                    },
                    {
                        "$ref": "#/components/schemas/RefreshProgressMessage"
                    },
                    {
                        "$ref": "#/components/schemas/RestartRequiredMessage"
                    },
                    {
                        "$ref": "#/components/schemas/ScheduledTaskEndedMessage"
                    },
                    {
                        "$ref": "#/components/schemas/ScheduledTasksInfoMessage"
                    },
                    {
                        "$ref": "#/components/schemas/SeriesTimerCancelledMessage"
                    },
                    {
                        "$ref": "#/components/schemas/SeriesTimerCreatedMessage"
                    },
                    {
                        "$ref": "#/components/schemas/ServerRestartingMessage"
                    },
                    {
                        "$ref": "#/components/schemas/ServerShuttingDownMessage"
                    },
                    {
                        "$ref": "#/components/schemas/SessionsMessage"
                    },
                    {
                        "$ref": "#/components/schemas/SyncPlayCommandMessage"
                    },
                    {
                        "$ref": "#/components/schemas/SyncPlayGroupUpdateCommandMessage"
                    },
                    {
                        "$ref": "#/components/schemas/TimerCancelledMessage"
                    },
                    {
                        "$ref": "#/components/schemas/TimerCreatedMessage"
                    },
                    {
                        "$ref": "#/components/schemas/UserDataChangedMessage"
                    },
                    {
                        "$ref": "#/components/schemas/UserDeletedMessage"
                    },
                    {
                        "$ref": "#/components/schemas/UserUpdatedMessage"
                    }
                ],
                "description": "Represents the list of possible outbound websocket types",
                "discriminator": {
                    "propertyName": "MessageType",
                    "mapping": {
                        "ActivityLogEntry": "#/components/schemas/ActivityLogEntryMessage",
                        "ForceKeepAlive": "#/components/schemas/ForceKeepAliveMessage",
                        "GeneralCommand": "#/components/schemas/GeneralCommandMessage",
                        "LibraryChanged": "#/components/schemas/LibraryChangedMessage",
                        "KeepAlive": "#/components/schemas/OutboundKeepAliveMessage",
                        "Play": "#/components/schemas/PlayMessage",
                        "Playstate": "#/components/schemas/PlaystateMessage",
                        "PackageInstallationCancelled": "#/components/schemas/PluginInstallationCancelledMessage",
                        "PackageInstallationCompleted": "#/components/schemas/PluginInstallationCompletedMessage",
                        "PackageInstallationFailed": "#/components/schemas/PluginInstallationFailedMessage",
                        "PackageInstalling": "#/components/schemas/PluginInstallingMessage",
                        "PackageUninstalled": "#/components/schemas/PluginUninstalledMessage",
                        "RefreshProgress": "#/components/schemas/RefreshProgressMessage",
                        "RestartRequired": "#/components/schemas/RestartRequiredMessage",
                        "ScheduledTaskEnded": "#/components/schemas/ScheduledTaskEndedMessage",
                        "ScheduledTasksInfo": "#/components/schemas/ScheduledTasksInfoMessage",
                        "SeriesTimerCancelled": "#/components/schemas/SeriesTimerCancelledMessage",
                        "SeriesTimerCreated": "#/components/schemas/SeriesTimerCreatedMessage",
                        "ServerRestarting": "#/components/schemas/ServerRestartingMessage",
                        "ServerShuttingDown": "#/components/schemas/ServerShuttingDownMessage",
                        "Sessions": "#/components/schemas/SessionsMessage",
                        "SyncPlayCommand": "#/components/schemas/SyncPlayCommandMessage",
                        "SyncPlayGroupUpdate": "#/components/schemas/SyncPlayGroupUpdateCommandMessage",
                        "TimerCancelled": "#/components/schemas/TimerCancelledMessage",
                        "TimerCreated": "#/components/schemas/TimerCreatedMessage",
                        "UserDataChanged": "#/components/schemas/UserDataChangedMessage",
                        "UserDeleted": "#/components/schemas/UserDeletedMessage",
                        "UserUpdated": "#/components/schemas/UserUpdatedMessage"
                    }
                }
            },
            "PackageInfo": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Gets or sets the name."
                    },
                    "description": {
                        "type": "string",
                        "description": "Gets or sets a long description of the plugin containing features or helpful explanations."
                    },
                    "overview": {
                        "type": "string",
                        "description": "Gets or sets a short overview of what the plugin does."
                    },
                    "owner": {
                        "type": "string",
                        "description": "Gets or sets the owner."
                    },
                    "category": {
                        "type": "string",
                        "description": "Gets or sets the category."
                    },
                    "guid": {
                        "type": "string",
                        "description": "Gets or sets the guid of the assembly associated with this plugin.\r\nThis is used to identify the proper item for automatic updates.",
                        "format": "uuid"
                    },
                    "versions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/VersionInfo"
                        },
                        "description": "Gets or sets the versions."
                    },
                    "imageUrl": {
                        "type": "string",
                        "description": "Gets or sets the image url for the package.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class PackageInfo."
            },
            "ParameterInclude": {
                "enum": [
                    "ProviderList",
                    "LocalIpAddress",
                    "LocalPort",
                    "Https"
                ],
                "type": "string"
            },
            "ParentalRating": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Value": {
                        "type": "integer",
                        "description": "Gets or sets the value.",
                        "format": "int32",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class ParentalRating."
            },
            "PathSubstitution": {
                "type": "object",
                "properties": {
                    "From": {
                        "type": "string",
                        "description": "Gets or sets the value to substitute."
                    },
                    "To": {
                        "type": "string",
                        "description": "Gets or sets the value to substitution with."
                    }
                },
                "additionalProperties": false,
                "description": "Defines the MediaBrowser.Model.Configuration.PathSubstitution."
            },
            "PersonKind": {
                "enum": [
                    "Unknown",
                    "Actor",
                    "Director",
                    "Composer",
                    "Writer",
                    "GuestStar",
                    "Producer",
                    "Conductor",
                    "Lyricist",
                    "Arranger",
                    "Engineer",
                    "Mixer",
                    "Remixer",
                    "Creator",
                    "Artist",
                    "AlbumArtist",
                    "Author",
                    "Illustrator",
                    "Penciller",
                    "Inker",
                    "Colorist",
                    "Letterer",
                    "CoverArtist",
                    "Editor",
                    "Translator"
                ],
                "type": "string",
                "description": "The person kind."
            },
            "PersonLookupInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "PersonLookupInfoRemoteSearchQuery": {
                "type": "object",
                "properties": {
                    "SearchInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PersonLookupInfo"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "description": "Gets or sets the provider name to search within if set.",
                        "nullable": true
                    },
                    "IncludeDisabledProviders": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether disabled providers should be included."
                    }
                },
                "additionalProperties": false
            },
            "PingRequestDto": {
                "type": "object",
                "properties": {
                    "Ping": {
                        "type": "integer",
                        "description": "Gets or sets the ping time.",
                        "format": "int64"
                    }
                },
                "additionalProperties": false,
                "description": "Class PingRequestDto."
            },
            "PinRedeemResult": {
                "type": "object",
                "properties": {
                    "Success": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this MediaBrowser.Model.Users.PinRedeemResult is success."
                    },
                    "UsersReset": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the users reset."
                    }
                },
                "additionalProperties": false
            },
            "PlayAccess": {
                "enum": [
                    "Full",
                    "None"
                ],
                "type": "string"
            },
            "PlaybackErrorCode": {
                "enum": [
                    "NotAllowed",
                    "NoCompatibleStream",
                    "RateLimitExceeded"
                ],
                "type": "string"
            },
            "PlaybackInfoDto": {
                "type": "object",
                "properties": {
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets the playback userId.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "MaxStreamingBitrate": {
                        "type": "integer",
                        "description": "Gets or sets the max streaming bitrate.",
                        "format": "int32",
                        "nullable": true
                    },
                    "StartTimeTicks": {
                        "type": "integer",
                        "description": "Gets or sets the start time in ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "AudioStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the audio stream index.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SubtitleStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the subtitle stream index.",
                        "format": "int32",
                        "nullable": true
                    },
                    "MaxAudioChannels": {
                        "type": "integer",
                        "description": "Gets or sets the max audio channels.",
                        "format": "int32",
                        "nullable": true
                    },
                    "MediaSourceId": {
                        "type": "string",
                        "description": "Gets or sets the media source id.",
                        "nullable": true
                    },
                    "LiveStreamId": {
                        "type": "string",
                        "description": "Gets or sets the live stream id.",
                        "nullable": true
                    },
                    "DeviceProfile": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DeviceProfile"
                            }
                        ],
                        "description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n<br />\r\nSpecifically, it defines the supported <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles\">containers</see> and\r\n<see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles\">codecs</see> (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles\">containers/codecs to transcode to</see> in case it isn't.",
                        "nullable": true
                    },
                    "EnableDirectPlay": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to enable direct play.",
                        "nullable": true
                    },
                    "EnableDirectStream": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to enable direct stream.",
                        "nullable": true
                    },
                    "EnableTranscoding": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to enable transcoding.",
                        "nullable": true
                    },
                    "AllowVideoStreamCopy": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to enable video stream copy.",
                        "nullable": true
                    },
                    "AllowAudioStreamCopy": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to allow audio stream copy.",
                        "nullable": true
                    },
                    "AutoOpenLiveStream": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to auto open the live stream.",
                        "nullable": true
                    },
                    "AlwaysBurnInSubtitleWhenTranscoding": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether always burn in subtitles when transcoding.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Plabyback info dto."
            },
            "PlaybackInfoResponse": {
                "type": "object",
                "properties": {
                    "MediaSources": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaSourceInfo"
                        },
                        "description": "Gets or sets the media sources."
                    },
                    "PlaySessionId": {
                        "type": "string",
                        "description": "Gets or sets the play session identifier.",
                        "nullable": true
                    },
                    "ErrorCode": {
                        "enum": [
                            "NotAllowed",
                            "NoCompatibleStream",
                            "RateLimitExceeded"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlaybackErrorCode"
                            }
                        ],
                        "description": "Gets or sets the error code.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class PlaybackInfoResponse."
            },
            "PlaybackOrder": {
                "enum": [
                    "Default",
                    "Shuffle"
                ],
                "type": "string",
                "description": "Enum PlaybackOrder."
            },
            "PlaybackProgressInfo": {
                "type": "object",
                "properties": {
                    "CanSeek": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance can seek."
                    },
                    "Item": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BaseItemDto"
                            }
                        ],
                        "description": "Gets or sets the item.",
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the item identifier.",
                        "format": "uuid"
                    },
                    "SessionId": {
                        "type": "string",
                        "description": "Gets or sets the session id.",
                        "nullable": true
                    },
                    "MediaSourceId": {
                        "type": "string",
                        "description": "Gets or sets the media version identifier.",
                        "nullable": true
                    },
                    "AudioStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the audio stream.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SubtitleStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the subtitle stream.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IsPaused": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is paused."
                    },
                    "IsMuted": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is muted."
                    },
                    "PositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the position ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "PlaybackStartTimeTicks": {
                        "type": "integer",
                        "format": "int64",
                        "nullable": true
                    },
                    "VolumeLevel": {
                        "type": "integer",
                        "description": "Gets or sets the volume level.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Brightness": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "AspectRatio": {
                        "type": "string",
                        "nullable": true
                    },
                    "PlayMethod": {
                        "enum": [
                            "Transcode",
                            "DirectStream",
                            "DirectPlay"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlayMethod"
                            }
                        ],
                        "description": "Gets or sets the play method."
                    },
                    "LiveStreamId": {
                        "type": "string",
                        "description": "Gets or sets the live stream identifier.",
                        "nullable": true
                    },
                    "PlaySessionId": {
                        "type": "string",
                        "description": "Gets or sets the play session identifier.",
                        "nullable": true
                    },
                    "RepeatMode": {
                        "enum": [
                            "RepeatNone",
                            "RepeatAll",
                            "RepeatOne"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/RepeatMode"
                            }
                        ],
                        "description": "Gets or sets the repeat mode."
                    },
                    "PlaybackOrder": {
                        "enum": [
                            "Default",
                            "Shuffle"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlaybackOrder"
                            }
                        ],
                        "description": "Gets or sets the playback order."
                    },
                    "NowPlayingQueue": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/QueueItem"
                        },
                        "nullable": true
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class PlaybackProgressInfo."
            },
            "PlaybackRequestType": {
                "enum": [
                    "Play",
                    "SetPlaylistItem",
                    "RemoveFromPlaylist",
                    "MovePlaylistItem",
                    "Queue",
                    "Unpause",
                    "Pause",
                    "Stop",
                    "Seek",
                    "Buffer",
                    "Ready",
                    "NextItem",
                    "PreviousItem",
                    "SetRepeatMode",
                    "SetShuffleMode",
                    "Ping",
                    "IgnoreWait"
                ],
                "type": "string",
                "description": "Enum PlaybackRequestType."
            },
            "PlaybackStartInfo": {
                "type": "object",
                "properties": {
                    "CanSeek": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance can seek."
                    },
                    "Item": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BaseItemDto"
                            }
                        ],
                        "description": "Gets or sets the item.",
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the item identifier.",
                        "format": "uuid"
                    },
                    "SessionId": {
                        "type": "string",
                        "description": "Gets or sets the session id.",
                        "nullable": true
                    },
                    "MediaSourceId": {
                        "type": "string",
                        "description": "Gets or sets the media version identifier.",
                        "nullable": true
                    },
                    "AudioStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the audio stream.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SubtitleStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the subtitle stream.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IsPaused": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is paused."
                    },
                    "IsMuted": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is muted."
                    },
                    "PositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the position ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "PlaybackStartTimeTicks": {
                        "type": "integer",
                        "format": "int64",
                        "nullable": true
                    },
                    "VolumeLevel": {
                        "type": "integer",
                        "description": "Gets or sets the volume level.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Brightness": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "AspectRatio": {
                        "type": "string",
                        "nullable": true
                    },
                    "PlayMethod": {
                        "enum": [
                            "Transcode",
                            "DirectStream",
                            "DirectPlay"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlayMethod"
                            }
                        ],
                        "description": "Gets or sets the play method."
                    },
                    "LiveStreamId": {
                        "type": "string",
                        "description": "Gets or sets the live stream identifier.",
                        "nullable": true
                    },
                    "PlaySessionId": {
                        "type": "string",
                        "description": "Gets or sets the play session identifier.",
                        "nullable": true
                    },
                    "RepeatMode": {
                        "enum": [
                            "RepeatNone",
                            "RepeatAll",
                            "RepeatOne"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/RepeatMode"
                            }
                        ],
                        "description": "Gets or sets the repeat mode."
                    },
                    "PlaybackOrder": {
                        "enum": [
                            "Default",
                            "Shuffle"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlaybackOrder"
                            }
                        ],
                        "description": "Gets or sets the playback order."
                    },
                    "NowPlayingQueue": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/QueueItem"
                        },
                        "nullable": true
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class PlaybackStartInfo."
            },
            "PlaybackStopInfo": {
                "type": "object",
                "properties": {
                    "Item": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BaseItemDto"
                            }
                        ],
                        "description": "Gets or sets the item.",
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the item identifier.",
                        "format": "uuid"
                    },
                    "SessionId": {
                        "type": "string",
                        "description": "Gets or sets the session id.",
                        "nullable": true
                    },
                    "MediaSourceId": {
                        "type": "string",
                        "description": "Gets or sets the media version identifier.",
                        "nullable": true
                    },
                    "PositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the position ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "LiveStreamId": {
                        "type": "string",
                        "description": "Gets or sets the live stream identifier.",
                        "nullable": true
                    },
                    "PlaySessionId": {
                        "type": "string",
                        "description": "Gets or sets the play session identifier.",
                        "nullable": true
                    },
                    "Failed": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed."
                    },
                    "NextMediaType": {
                        "type": "string",
                        "nullable": true
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "nullable": true
                    },
                    "NowPlayingQueue": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/QueueItem"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class PlaybackStopInfo."
            },
            "PlayCommand": {
                "enum": [
                    "PlayNow",
                    "PlayNext",
                    "PlayLast",
                    "PlayInstantMix",
                    "PlayShuffle"
                ],
                "type": "string",
                "description": "Enum PlayCommand."
            },
            "PlayerStateInfo": {
                "type": "object",
                "properties": {
                    "PositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the now playing position ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "CanSeek": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance can seek."
                    },
                    "IsPaused": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is paused."
                    },
                    "IsMuted": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is muted."
                    },
                    "VolumeLevel": {
                        "type": "integer",
                        "description": "Gets or sets the volume level.",
                        "format": "int32",
                        "nullable": true
                    },
                    "AudioStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the now playing audio stream.",
                        "format": "int32",
                        "nullable": true
                    },
                    "SubtitleStreamIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the now playing subtitle stream.",
                        "format": "int32",
                        "nullable": true
                    },
                    "MediaSourceId": {
                        "type": "string",
                        "description": "Gets or sets the now playing media version identifier.",
                        "nullable": true
                    },
                    "PlayMethod": {
                        "enum": [
                            "Transcode",
                            "DirectStream",
                            "DirectPlay"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlayMethod"
                            }
                        ],
                        "description": "Gets or sets the play method.",
                        "nullable": true
                    },
                    "RepeatMode": {
                        "enum": [
                            "RepeatNone",
                            "RepeatAll",
                            "RepeatOne"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/RepeatMode"
                            }
                        ],
                        "description": "Gets or sets the repeat mode."
                    },
                    "PlaybackOrder": {
                        "enum": [
                            "Default",
                            "Shuffle"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlaybackOrder"
                            }
                        ],
                        "description": "Gets or sets the playback order."
                    },
                    "LiveStreamId": {
                        "type": "string",
                        "description": "Gets or sets the now playing live stream identifier.",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "PlaylistCreationResult": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string"
                    }
                },
                "additionalProperties": false
            },
            "PlaylistDto": {
                "type": "object",
                "properties": {
                    "OpenAccess": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the playlist is publicly readable."
                    },
                    "Shares": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PlaylistUserPermissions"
                        },
                        "description": "Gets or sets the share permissions."
                    },
                    "ItemIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "description": "Gets or sets the item ids."
                    }
                },
                "additionalProperties": false,
                "description": "DTO for playlists."
            },
            "PlaylistUserPermissions": {
                "type": "object",
                "properties": {
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets the user id.",
                        "format": "uuid"
                    },
                    "CanEdit": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the user has edit permissions."
                    }
                },
                "additionalProperties": false,
                "description": "Class to hold data on user permissions for playlists."
            },
            "PlayMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlayRequest"
                            }
                        ],
                        "description": "Class PlayRequest.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "Play",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Play command websocket message."
            },
            "PlayMethod": {
                "enum": [
                    "Transcode",
                    "DirectStream",
                    "DirectPlay"
                ],
                "type": "string"
            },
            "PlayQueueUpdate": {
                "type": "object",
                "properties": {
                    "Reason": {
                        "enum": [
                            "NewPlaylist",
                            "SetCurrentItem",
                            "RemoveItems",
                            "MoveItem",
                            "Queue",
                            "QueueNext",
                            "NextItem",
                            "PreviousItem",
                            "RepeatMode",
                            "ShuffleMode"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlayQueueUpdateReason"
                            }
                        ],
                        "description": "Gets the request type that originated this update."
                    },
                    "LastUpdate": {
                        "type": "string",
                        "description": "Gets the UTC time of the last change to the playing queue.",
                        "format": "date-time"
                    },
                    "Playlist": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SyncPlayQueueItem"
                        },
                        "description": "Gets the playlist."
                    },
                    "PlayingItemIndex": {
                        "type": "integer",
                        "description": "Gets the playing item index in the playlist.",
                        "format": "int32"
                    },
                    "StartPositionTicks": {
                        "type": "integer",
                        "description": "Gets the start position ticks.",
                        "format": "int64"
                    },
                    "IsPlaying": {
                        "type": "boolean",
                        "description": "Gets a value indicating whether the current item is playing."
                    },
                    "ShuffleMode": {
                        "enum": [
                            "Sorted",
                            "Shuffle"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupShuffleMode"
                            }
                        ],
                        "description": "Gets the shuffle mode."
                    },
                    "RepeatMode": {
                        "enum": [
                            "RepeatOne",
                            "RepeatAll",
                            "RepeatNone"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupRepeatMode"
                            }
                        ],
                        "description": "Gets the repeat mode."
                    }
                },
                "additionalProperties": false,
                "description": "Class PlayQueueUpdate."
            },
            "PlayQueueUpdateGroupUpdate": {
                "type": "object",
                "properties": {
                    "GroupId": {
                        "type": "string",
                        "description": "Gets the group identifier.",
                        "format": "uuid",
                        "readOnly": true
                    },
                    "Type": {
                        "enum": [
                            "UserJoined",
                            "UserLeft",
                            "GroupJoined",
                            "GroupLeft",
                            "StateUpdate",
                            "PlayQueue",
                            "NotInGroup",
                            "GroupDoesNotExist",
                            "CreateGroupDenied",
                            "JoinGroupDenied",
                            "LibraryAccessDenied"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupUpdateType"
                            }
                        ],
                        "description": "Gets the update type."
                    },
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlayQueueUpdate"
                            }
                        ],
                        "description": "Gets the update data."
                    }
                },
                "additionalProperties": false,
                "description": "Class GroupUpdate."
            },
            "PlayQueueUpdateReason": {
                "enum": [
                    "NewPlaylist",
                    "SetCurrentItem",
                    "RemoveItems",
                    "MoveItem",
                    "Queue",
                    "QueueNext",
                    "NextItem",
                    "PreviousItem",
                    "RepeatMode",
                    "ShuffleMode"
                ],
                "type": "string",
                "description": "Enum PlayQueueUpdateReason."
            },
            "PlayRequest": {
                "type": "object",
                "properties": {
                    "ItemIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "description": "Gets or sets the item ids.",
                        "nullable": true
                    },
                    "StartPositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the start position ticks that the first item should be played at.",
                        "format": "int64",
                        "nullable": true
                    },
                    "PlayCommand": {
                        "enum": [
                            "PlayNow",
                            "PlayNext",
                            "PlayLast",
                            "PlayInstantMix",
                            "PlayShuffle"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlayCommand"
                            }
                        ],
                        "description": "Gets or sets the play command."
                    },
                    "ControllingUserId": {
                        "type": "string",
                        "description": "Gets or sets the controlling user identifier.",
                        "format": "uuid"
                    },
                    "SubtitleStreamIndex": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "AudioStreamIndex": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "MediaSourceId": {
                        "type": "string",
                        "nullable": true
                    },
                    "StartIndex": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class PlayRequest."
            },
            "PlayRequestDto": {
                "type": "object",
                "properties": {
                    "PlayingQueue": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "description": "Gets or sets the playing queue."
                    },
                    "PlayingItemPosition": {
                        "type": "integer",
                        "description": "Gets or sets the position of the playing item in the queue.",
                        "format": "int32"
                    },
                    "StartPositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the start position ticks.",
                        "format": "int64"
                    }
                },
                "additionalProperties": false,
                "description": "Class PlayRequestDto."
            },
            "PlaystateCommand": {
                "enum": [
                    "Stop",
                    "Pause",
                    "Unpause",
                    "NextTrack",
                    "PreviousTrack",
                    "Seek",
                    "Rewind",
                    "FastForward",
                    "PlayPause"
                ],
                "type": "string",
                "description": "Enum PlaystateCommand."
            },
            "PlaystateMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlaystateRequest"
                            }
                        ],
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "Playstate",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Playstate message."
            },
            "PlaystateRequest": {
                "type": "object",
                "properties": {
                    "Command": {
                        "enum": [
                            "Stop",
                            "Pause",
                            "Unpause",
                            "NextTrack",
                            "PreviousTrack",
                            "Seek",
                            "Rewind",
                            "FastForward",
                            "PlayPause"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlaystateCommand"
                            }
                        ],
                        "description": "Enum PlaystateCommand."
                    },
                    "SeekPositionTicks": {
                        "type": "integer",
                        "format": "int64",
                        "nullable": true
                    },
                    "ControllingUserId": {
                        "type": "string",
                        "description": "Gets or sets the controlling user identifier.",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "PluginInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name."
                    },
                    "Version": {
                        "type": "string",
                        "description": "Gets or sets the version."
                    },
                    "ConfigurationFileName": {
                        "type": "string",
                        "description": "Gets or sets the name of the configuration file.",
                        "nullable": true
                    },
                    "Description": {
                        "type": "string",
                        "description": "Gets or sets the description."
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the unique id.",
                        "format": "uuid"
                    },
                    "CanUninstall": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the plugin can be uninstalled."
                    },
                    "HasImage": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this plugin has a valid image."
                    },
                    "Status": {
                        "enum": [
                            "Active",
                            "Restart",
                            "Deleted",
                            "Superceded",
                            "Malfunctioned",
                            "NotSupported",
                            "Disabled"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PluginStatus"
                            }
                        ],
                        "description": "Gets or sets a value indicating the status of the plugin."
                    }
                },
                "additionalProperties": false,
                "description": "This is a serializable stub class that is used by the api to provide information about installed plugins."
            },
            "PluginInstallationCancelledMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/InstallationInfo"
                            }
                        ],
                        "description": "Class InstallationInfo.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "PackageInstallationCancelled",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Plugin installation cancelled message."
            },
            "PluginInstallationCompletedMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/InstallationInfo"
                            }
                        ],
                        "description": "Class InstallationInfo.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "PackageInstallationCompleted",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Plugin installation completed message."
            },
            "PluginInstallationFailedMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/InstallationInfo"
                            }
                        ],
                        "description": "Class InstallationInfo.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "PackageInstallationFailed",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Plugin installation failed message."
            },
            "PluginInstallingMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/InstallationInfo"
                            }
                        ],
                        "description": "Class InstallationInfo.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "PackageInstalling",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Package installing message."
            },
            "PluginStatus": {
                "enum": [
                    "Active",
                    "Restart",
                    "Deleted",
                    "Superceded",
                    "Malfunctioned",
                    "NotSupported",
                    "Disabled"
                ],
                "type": "string",
                "description": "Plugin load status."
            },
            "PluginUninstalledMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PluginInfo"
                            }
                        ],
                        "description": "This is a serializable stub class that is used by the api to provide information about installed plugins.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "PackageUninstalled",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Plugin uninstalled message."
            },
            "PreviousItemRequestDto": {
                "type": "object",
                "properties": {
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets or sets the playing item identifier.",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false,
                "description": "Class PreviousItemRequestDto."
            },
            "ProblemDetails": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "nullable": true
                    },
                    "title": {
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "detail": {
                        "type": "string",
                        "nullable": true
                    },
                    "instance": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": {}
            },
            "ProcessPriorityClass": {
                "enum": [
                    "Normal",
                    "Idle",
                    "High",
                    "RealTime",
                    "BelowNormal",
                    "AboveNormal"
                ],
                "type": "string"
            },
            "ProfileCondition": {
                "type": "object",
                "properties": {
                    "Condition": {
                        "enum": [
                            "Equals",
                            "NotEquals",
                            "LessThanEqual",
                            "GreaterThanEqual",
                            "EqualsAny"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ProfileConditionType"
                            }
                        ]
                    },
                    "Property": {
                        "enum": [
                            "AudioChannels",
                            "AudioBitrate",
                            "AudioProfile",
                            "Width",
                            "Height",
                            "Has64BitOffsets",
                            "PacketLength",
                            "VideoBitDepth",
                            "VideoBitrate",
                            "VideoFramerate",
                            "VideoLevel",
                            "VideoProfile",
                            "VideoTimestamp",
                            "IsAnamorphic",
                            "RefFrames",
                            "NumAudioStreams",
                            "NumVideoStreams",
                            "IsSecondaryAudio",
                            "VideoCodecTag",
                            "IsAvc",
                            "IsInterlaced",
                            "AudioSampleRate",
                            "AudioBitDepth",
                            "VideoRangeType"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ProfileConditionValue"
                            }
                        ]
                    },
                    "Value": {
                        "type": "string",
                        "nullable": true
                    },
                    "IsRequired": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "ProfileConditionType": {
                "enum": [
                    "Equals",
                    "NotEquals",
                    "LessThanEqual",
                    "GreaterThanEqual",
                    "EqualsAny"
                ],
                "type": "string"
            },
            "ProfileConditionValue": {
                "enum": [
                    "AudioChannels",
                    "AudioBitrate",
                    "AudioProfile",
                    "Width",
                    "Height",
                    "Has64BitOffsets",
                    "PacketLength",
                    "VideoBitDepth",
                    "VideoBitrate",
                    "VideoFramerate",
                    "VideoLevel",
                    "VideoProfile",
                    "VideoTimestamp",
                    "IsAnamorphic",
                    "RefFrames",
                    "NumAudioStreams",
                    "NumVideoStreams",
                    "IsSecondaryAudio",
                    "VideoCodecTag",
                    "IsAvc",
                    "IsInterlaced",
                    "AudioSampleRate",
                    "AudioBitDepth",
                    "VideoRangeType"
                ],
                "type": "string"
            },
            "ProgramAudio": {
                "enum": [
                    "Mono",
                    "Stereo",
                    "Dolby",
                    "DolbyDigital",
                    "Thx",
                    "Atmos"
                ],
                "type": "string"
            },
            "PublicSystemInfo": {
                "type": "object",
                "properties": {
                    "LocalAddress": {
                        "type": "string",
                        "description": "Gets or sets the local address.",
                        "nullable": true
                    },
                    "ServerName": {
                        "type": "string",
                        "description": "Gets or sets the name of the server.",
                        "nullable": true
                    },
                    "Version": {
                        "type": "string",
                        "description": "Gets or sets the server version.",
                        "nullable": true
                    },
                    "ProductName": {
                        "type": "string",
                        "description": "Gets or sets the product name. This is the AssemblyProduct name.",
                        "nullable": true
                    },
                    "OperatingSystem": {
                        "type": "string",
                        "description": "Gets or sets the operating system.",
                        "nullable": true,
                        "deprecated": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the id.",
                        "nullable": true
                    },
                    "StartupWizardCompleted": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the startup wizard is completed.",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "QueryFilters": {
                "type": "object",
                "properties": {
                    "Genres": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameGuidPair"
                        },
                        "nullable": true
                    },
                    "Tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "QueryFiltersLegacy": {
                "type": "object",
                "properties": {
                    "Genres": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "Tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "OfficialRatings": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "Years": {
                        "type": "array",
                        "items": {
                            "type": "integer",
                            "format": "int32"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "QueueItem": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "QueueRequestDto": {
                "type": "object",
                "properties": {
                    "ItemIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "description": "Gets or sets the items to enqueue."
                    },
                    "Mode": {
                        "enum": [
                            "Queue",
                            "QueueNext"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupQueueMode"
                            }
                        ],
                        "description": "Enum GroupQueueMode."
                    }
                },
                "additionalProperties": false,
                "description": "Class QueueRequestDto."
            },
            "QuickConnectDto": {
                "required": [
                    "Secret"
                ],
                "type": "object",
                "properties": {
                    "Secret": {
                        "type": "string",
                        "description": "Gets or sets the quick connect secret."
                    }
                },
                "additionalProperties": false,
                "description": "The quick connect request body."
            },
            "QuickConnectResult": {
                "type": "object",
                "properties": {
                    "Authenticated": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this request is authorized."
                    },
                    "Secret": {
                        "type": "string",
                        "description": "Gets the secret value used to uniquely identify this request. Can be used to retrieve authentication information."
                    },
                    "Code": {
                        "type": "string",
                        "description": "Gets the user facing code used so the user can quickly differentiate this request from others."
                    },
                    "DeviceId": {
                        "type": "string",
                        "description": "Gets the requesting device id."
                    },
                    "DeviceName": {
                        "type": "string",
                        "description": "Gets the requesting device name."
                    },
                    "AppName": {
                        "type": "string",
                        "description": "Gets the requesting app name."
                    },
                    "AppVersion": {
                        "type": "string",
                        "description": "Gets the requesting app version."
                    },
                    "DateAdded": {
                        "type": "string",
                        "description": "Gets or sets the DateTime that this request was created.",
                        "format": "date-time"
                    }
                },
                "additionalProperties": false,
                "description": "Stores the state of an quick connect request."
            },
            "RatingType": {
                "enum": [
                    "Score",
                    "Likes"
                ],
                "type": "string"
            },
            "ReadyRequestDto": {
                "type": "object",
                "properties": {
                    "When": {
                        "type": "string",
                        "description": "Gets or sets when the request has been made by the client.",
                        "format": "date-time"
                    },
                    "PositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the position ticks.",
                        "format": "int64"
                    },
                    "IsPlaying": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the client playback is unpaused."
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets or sets the playlist item identifier of the playing item.",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false,
                "description": "Class ReadyRequest."
            },
            "RecommendationDto": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BaseItemDto"
                        },
                        "nullable": true
                    },
                    "RecommendationType": {
                        "enum": [
                            "SimilarToRecentlyPlayed",
                            "SimilarToLikedItem",
                            "HasDirectorFromRecentlyPlayed",
                            "HasActorFromRecentlyPlayed",
                            "HasLikedDirector",
                            "HasLikedActor"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/RecommendationType"
                            }
                        ]
                    },
                    "BaselineItemName": {
                        "type": "string",
                        "nullable": true
                    },
                    "CategoryId": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false
            },
            "RecommendationType": {
                "enum": [
                    "SimilarToRecentlyPlayed",
                    "SimilarToLikedItem",
                    "HasDirectorFromRecentlyPlayed",
                    "HasActorFromRecentlyPlayed",
                    "HasLikedDirector",
                    "HasLikedActor"
                ],
                "type": "string"
            },
            "RecordingStatus": {
                "enum": [
                    "New",
                    "InProgress",
                    "Completed",
                    "Cancelled",
                    "ConflictedOk",
                    "ConflictedNotOk",
                    "Error"
                ],
                "type": "string"
            },
            "RefreshProgressMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "RefreshProgress",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Refresh progress message."
            },
            "RemoteImageInfo": {
                "type": "object",
                "properties": {
                    "ProviderName": {
                        "type": "string",
                        "description": "Gets or sets the name of the provider.",
                        "nullable": true
                    },
                    "Url": {
                        "type": "string",
                        "description": "Gets or sets the URL.",
                        "nullable": true
                    },
                    "ThumbnailUrl": {
                        "type": "string",
                        "description": "Gets or sets a url used for previewing a smaller version.",
                        "nullable": true
                    },
                    "Height": {
                        "type": "integer",
                        "description": "Gets or sets the height.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Width": {
                        "type": "integer",
                        "description": "Gets or sets the width.",
                        "format": "int32",
                        "nullable": true
                    },
                    "CommunityRating": {
                        "type": "number",
                        "description": "Gets or sets the community rating.",
                        "format": "double",
                        "nullable": true
                    },
                    "VoteCount": {
                        "type": "integer",
                        "description": "Gets or sets the vote count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Language": {
                        "type": "string",
                        "description": "Gets or sets the language.",
                        "nullable": true
                    },
                    "Type": {
                        "enum": [
                            "Primary",
                            "Art",
                            "Backdrop",
                            "Banner",
                            "Logo",
                            "Thumb",
                            "Disc",
                            "Box",
                            "Screenshot",
                            "Menu",
                            "Chapter",
                            "BoxRear",
                            "Profile"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ImageType"
                            }
                        ],
                        "description": "Gets or sets the type."
                    },
                    "RatingType": {
                        "enum": [
                            "Score",
                            "Likes"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/RatingType"
                            }
                        ],
                        "description": "Gets or sets the type of the rating."
                    }
                },
                "additionalProperties": false,
                "description": "Class RemoteImageInfo."
            },
            "RemoteImageResult": {
                "type": "object",
                "properties": {
                    "Images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RemoteImageInfo"
                        },
                        "description": "Gets or sets the images.",
                        "nullable": true
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total record count.",
                        "format": "int32"
                    },
                    "Providers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the providers.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class RemoteImageResult."
            },
            "RemoteLyricInfoDto": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the id for the lyric."
                    },
                    "ProviderName": {
                        "type": "string",
                        "description": "Gets the provider name."
                    },
                    "Lyrics": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LyricDto"
                            }
                        ],
                        "description": "Gets the lyrics."
                    }
                },
                "additionalProperties": false,
                "description": "The remote lyric info dto."
            },
            "RemoteSearchResult": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "ProductionYear": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumberEnd": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "ImageUrl": {
                        "type": "string",
                        "nullable": true
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "nullable": true
                    },
                    "Overview": {
                        "type": "string",
                        "nullable": true
                    },
                    "AlbumArtist": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/RemoteSearchResult"
                            }
                        ],
                        "nullable": true
                    },
                    "Artists": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RemoteSearchResult"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "RemoteSubtitleInfo": {
                "type": "object",
                "properties": {
                    "ThreeLetterISOLanguageName": {
                        "type": "string",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "nullable": true
                    },
                    "ProviderName": {
                        "type": "string",
                        "nullable": true
                    },
                    "Name": {
                        "type": "string",
                        "nullable": true
                    },
                    "Format": {
                        "type": "string",
                        "nullable": true
                    },
                    "Author": {
                        "type": "string",
                        "nullable": true
                    },
                    "Comment": {
                        "type": "string",
                        "nullable": true
                    },
                    "DateCreated": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "CommunityRating": {
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    },
                    "FrameRate": {
                        "type": "number",
                        "format": "float",
                        "nullable": true
                    },
                    "DownloadCount": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "IsHashMatch": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "AiTranslated": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "MachineTranslated": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "Forced": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "HearingImpaired": {
                        "type": "boolean",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "RemovedItem": {
                "type": "object",
                "properties": {
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SeriesId": {
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                    },
                    "Season": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "RemovedItemQueryResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RemovedItem"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Query result container."
            },
            "RemoveFromPlaylistRequestDto": {
                "type": "object",
                "properties": {
                    "PlaylistItemIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "description": "Gets or sets the playlist identifiers of the items. Ignored when clearing the playlist."
                    },
                    "ClearPlaylist": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the entire playlist should be cleared."
                    },
                    "ClearPlayingItem": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the playing item should be removed as well. Used only when clearing the playlist."
                    }
                },
                "additionalProperties": false,
                "description": "Class RemoveFromPlaylistRequestDto."
            },
            "RepeatMode": {
                "enum": [
                    "RepeatNone",
                    "RepeatAll",
                    "RepeatOne"
                ],
                "type": "string"
            },
            "RepositoryInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Url": {
                        "type": "string",
                        "description": "Gets or sets the URL.",
                        "nullable": true
                    },
                    "Enabled": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the repository is enabled."
                    }
                },
                "additionalProperties": false,
                "description": "Class RepositoryInfo."
            },
            "RestartRequiredMessage": {
                "type": "object",
                "properties": {
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "RestartRequired",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Restart required."
            },
            "ScheduledTaskEndedMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TaskResult"
                            }
                        ],
                        "description": "Class TaskExecutionInfo.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ScheduledTaskEnded",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Scheduled task ended message."
            },
            "ScheduledTasksInfoMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TaskInfo"
                        },
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ScheduledTasksInfo",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Scheduled tasks info message."
            },
            "ScheduledTasksInfoStartMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "type": "string",
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ScheduledTasksInfoStart",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Scheduled tasks info start message.\r\nData is the timing data encoded as \"$initialDelay,$interval\" in ms."
            },
            "ScheduledTasksInfoStopMessage": {
                "type": "object",
                "properties": {
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ScheduledTasksInfoStop",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Scheduled tasks info stop message."
            },
            "ScrollDirection": {
                "enum": [
                    "Horizontal",
                    "Vertical"
                ],
                "type": "string",
                "description": "An enum representing the axis that should be scrolled."
            },
            "SearchHint": {
                "type": "object",
                "properties": {
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the item id.",
                        "format": "uuid",
                        "deprecated": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the item id.",
                        "format": "uuid"
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name."
                    },
                    "MatchedTerm": {
                        "type": "string",
                        "description": "Gets or sets the matched term.",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "description": "Gets or sets the index number.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ProductionYear": {
                        "type": "integer",
                        "description": "Gets or sets the production year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "description": "Gets or sets the parent index number.",
                        "format": "int32",
                        "nullable": true
                    },
                    "PrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the image tag.",
                        "nullable": true
                    },
                    "ThumbImageTag": {
                        "type": "string",
                        "description": "Gets or sets the thumb image tag.",
                        "nullable": true
                    },
                    "ThumbImageItemId": {
                        "type": "string",
                        "description": "Gets or sets the thumb image item identifier.",
                        "nullable": true
                    },
                    "BackdropImageTag": {
                        "type": "string",
                        "description": "Gets or sets the backdrop image tag.",
                        "nullable": true
                    },
                    "BackdropImageItemId": {
                        "type": "string",
                        "description": "Gets or sets the backdrop image item identifier.",
                        "nullable": true
                    },
                    "Type": {
                        "enum": [
                            "AggregateFolder",
                            "Audio",
                            "AudioBook",
                            "BasePluginFolder",
                            "Book",
                            "BoxSet",
                            "Channel",
                            "ChannelFolderItem",
                            "CollectionFolder",
                            "Episode",
                            "Folder",
                            "Genre",
                            "ManualPlaylistsFolder",
                            "Movie",
                            "LiveTvChannel",
                            "LiveTvProgram",
                            "MusicAlbum",
                            "MusicArtist",
                            "MusicGenre",
                            "MusicVideo",
                            "Person",
                            "Photo",
                            "PhotoAlbum",
                            "Playlist",
                            "PlaylistsFolder",
                            "Program",
                            "Recording",
                            "Season",
                            "Series",
                            "Studio",
                            "Trailer",
                            "TvChannel",
                            "TvProgram",
                            "UserRootFolder",
                            "UserView",
                            "Video",
                            "Year"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BaseItemKind"
                            }
                        ],
                        "description": "Gets or sets the type."
                    },
                    "IsFolder": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is folder.",
                        "nullable": true
                    },
                    "RunTimeTicks": {
                        "type": "integer",
                        "description": "Gets or sets the run time ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "MediaType": {
                        "enum": [
                            "Unknown",
                            "Video",
                            "Audio",
                            "Photo",
                            "Book"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaType"
                            }
                        ],
                        "description": "Gets or sets the type of the media.",
                        "default": "Unknown"
                    },
                    "StartDate": {
                        "type": "string",
                        "description": "Gets or sets the start date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "EndDate": {
                        "type": "string",
                        "description": "Gets or sets the end date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "Series": {
                        "type": "string",
                        "description": "Gets or sets the series.",
                        "nullable": true
                    },
                    "Status": {
                        "type": "string",
                        "description": "Gets or sets the status.",
                        "nullable": true
                    },
                    "Album": {
                        "type": "string",
                        "description": "Gets or sets the album.",
                        "nullable": true
                    },
                    "AlbumId": {
                        "type": "string",
                        "description": "Gets or sets the album id.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "AlbumArtist": {
                        "type": "string",
                        "description": "Gets or sets the album artist.",
                        "nullable": true
                    },
                    "Artists": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the artists."
                    },
                    "SongCount": {
                        "type": "integer",
                        "description": "Gets or sets the song count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "EpisodeCount": {
                        "type": "integer",
                        "description": "Gets or sets the episode count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "ChannelId": {
                        "type": "string",
                        "description": "Gets or sets the channel identifier.",
                        "format": "uuid",
                        "nullable": true
                    },
                    "ChannelName": {
                        "type": "string",
                        "description": "Gets or sets the name of the channel.",
                        "nullable": true
                    },
                    "PrimaryImageAspectRatio": {
                        "type": "number",
                        "description": "Gets or sets the primary image aspect ratio.",
                        "format": "double",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class SearchHintResult."
            },
            "SearchHintResult": {
                "type": "object",
                "properties": {
                    "SearchHints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SearchHint"
                        },
                        "description": "Gets the search hints."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets the total record count.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Class SearchHintResult."
            },
            "SeekRequestDto": {
                "type": "object",
                "properties": {
                    "PositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the position ticks.",
                        "format": "int64"
                    }
                },
                "additionalProperties": false,
                "description": "Class SeekRequestDto."
            },
            "SendCommand": {
                "type": "object",
                "properties": {
                    "GroupId": {
                        "type": "string",
                        "description": "Gets the group identifier.",
                        "format": "uuid"
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets the playlist identifier of the playing item.",
                        "format": "uuid"
                    },
                    "When": {
                        "type": "string",
                        "description": "Gets or sets the UTC time when to execute the command.",
                        "format": "date-time"
                    },
                    "PositionTicks": {
                        "type": "integer",
                        "description": "Gets the position ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "Command": {
                        "enum": [
                            "Unpause",
                            "Pause",
                            "Stop",
                            "Seek"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SendCommandType"
                            }
                        ],
                        "description": "Gets the command."
                    },
                    "EmittedAt": {
                        "type": "string",
                        "description": "Gets the UTC time when this command has been emitted.",
                        "format": "date-time"
                    }
                },
                "additionalProperties": false,
                "description": "Class SendCommand."
            },
            "SendCommandType": {
                "enum": [
                    "Unpause",
                    "Pause",
                    "Stop",
                    "Seek"
                ],
                "type": "string",
                "description": "Enum SendCommandType."
            },
            "SeriesInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "SeriesInfoRemoteSearchQuery": {
                "type": "object",
                "properties": {
                    "SearchInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SeriesInfo"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "description": "Gets or sets the provider name to search within if set.",
                        "nullable": true
                    },
                    "IncludeDisabledProviders": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether disabled providers should be included."
                    }
                },
                "additionalProperties": false
            },
            "SeriesStatus": {
                "enum": [
                    "Continuing",
                    "Ended",
                    "Unreleased"
                ],
                "type": "string",
                "description": "The status of a series."
            },
            "SeriesTimerCancelledMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TimerEventInfo"
                            }
                        ],
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "SeriesTimerCancelled",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Series timer cancelled message."
            },
            "SeriesTimerCreatedMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TimerEventInfo"
                            }
                        ],
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "SeriesTimerCreated",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Series timer created message."
            },
            "SeriesTimerInfoDto": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the Id of the recording.",
                        "nullable": true
                    },
                    "Type": {
                        "type": "string",
                        "nullable": true
                    },
                    "ServerId": {
                        "type": "string",
                        "description": "Gets or sets the server identifier.",
                        "nullable": true
                    },
                    "ExternalId": {
                        "type": "string",
                        "description": "Gets or sets the external identifier.",
                        "nullable": true
                    },
                    "ChannelId": {
                        "type": "string",
                        "description": "Gets or sets the channel id of the recording.",
                        "format": "uuid"
                    },
                    "ExternalChannelId": {
                        "type": "string",
                        "description": "Gets or sets the external channel identifier.",
                        "nullable": true
                    },
                    "ChannelName": {
                        "type": "string",
                        "description": "Gets or sets the channel name of the recording.",
                        "nullable": true
                    },
                    "ChannelPrimaryImageTag": {
                        "type": "string",
                        "nullable": true
                    },
                    "ProgramId": {
                        "type": "string",
                        "description": "Gets or sets the program identifier.",
                        "nullable": true
                    },
                    "ExternalProgramId": {
                        "type": "string",
                        "description": "Gets or sets the external program identifier.",
                        "nullable": true
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name of the recording.",
                        "nullable": true
                    },
                    "Overview": {
                        "type": "string",
                        "description": "Gets or sets the description of the recording.",
                        "nullable": true
                    },
                    "StartDate": {
                        "type": "string",
                        "description": "Gets or sets the start date of the recording, in UTC.",
                        "format": "date-time"
                    },
                    "EndDate": {
                        "type": "string",
                        "description": "Gets or sets the end date of the recording, in UTC.",
                        "format": "date-time"
                    },
                    "ServiceName": {
                        "type": "string",
                        "description": "Gets or sets the name of the service.",
                        "nullable": true
                    },
                    "Priority": {
                        "type": "integer",
                        "description": "Gets or sets the priority.",
                        "format": "int32"
                    },
                    "PrePaddingSeconds": {
                        "type": "integer",
                        "description": "Gets or sets the pre padding seconds.",
                        "format": "int32"
                    },
                    "PostPaddingSeconds": {
                        "type": "integer",
                        "description": "Gets or sets the post padding seconds.",
                        "format": "int32"
                    },
                    "IsPrePaddingRequired": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is pre padding required."
                    },
                    "ParentBackdropItemId": {
                        "type": "string",
                        "description": "Gets or sets the Id of the Parent that has a backdrop if the item does not have one.",
                        "nullable": true
                    },
                    "ParentBackdropImageTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the parent backdrop image tags.",
                        "nullable": true
                    },
                    "IsPostPaddingRequired": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is post padding required."
                    },
                    "KeepUntil": {
                        "enum": [
                            "UntilDeleted",
                            "UntilSpaceNeeded",
                            "UntilWatched",
                            "UntilDate"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/KeepUntil"
                            }
                        ]
                    },
                    "RecordAnyTime": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [record any time]."
                    },
                    "SkipEpisodesInLibrary": {
                        "type": "boolean"
                    },
                    "RecordAnyChannel": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [record any channel]."
                    },
                    "KeepUpTo": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "RecordNewOnly": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [record new only]."
                    },
                    "Days": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DayOfWeek"
                        },
                        "description": "Gets or sets the days.",
                        "nullable": true
                    },
                    "DayPattern": {
                        "enum": [
                            "Daily",
                            "Weekdays",
                            "Weekends"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DayPattern"
                            }
                        ],
                        "description": "Gets or sets the day pattern.",
                        "nullable": true
                    },
                    "ImageTags": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Gets or sets the image tags.",
                        "nullable": true
                    },
                    "ParentThumbItemId": {
                        "type": "string",
                        "description": "Gets or sets the parent thumb item id.",
                        "nullable": true
                    },
                    "ParentThumbImageTag": {
                        "type": "string",
                        "description": "Gets or sets the parent thumb image tag.",
                        "nullable": true
                    },
                    "ParentPrimaryImageItemId": {
                        "type": "string",
                        "description": "Gets or sets the parent primary image item identifier.",
                        "nullable": true
                    },
                    "ParentPrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the parent primary image tag.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class SeriesTimerInfoDto."
            },
            "SeriesTimerInfoDtoQueryResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SeriesTimerInfoDto"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Query result container."
            },
            "ServerConfiguration": {
                "type": "object",
                "properties": {
                    "LogFileRetentionDays": {
                        "type": "integer",
                        "description": "Gets or sets the number of days we should retain log files.",
                        "format": "int32"
                    },
                    "IsStartupWizardCompleted": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is first run."
                    },
                    "CachePath": {
                        "type": "string",
                        "description": "Gets or sets the cache path.",
                        "nullable": true
                    },
                    "PreviousVersion": {
                        "type": "string",
                        "description": "Gets or sets the last known version that was ran using the configuration.",
                        "nullable": true
                    },
                    "PreviousVersionStr": {
                        "type": "string",
                        "description": "Gets or sets the stringified PreviousVersion to be stored/loaded,\r\nbecause System.Version itself isn't xml-serializable.",
                        "nullable": true
                    },
                    "EnableMetrics": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to enable prometheus metrics exporting."
                    },
                    "EnableNormalizedItemByNameIds": {
                        "type": "boolean"
                    },
                    "IsPortAuthorized": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is port authorized."
                    },
                    "QuickConnectAvailable": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether quick connect is available for use on this server."
                    },
                    "EnableCaseSensitiveItemIds": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [enable case sensitive item ids]."
                    },
                    "DisableLiveTvChannelUserDataName": {
                        "type": "boolean"
                    },
                    "MetadataPath": {
                        "type": "string",
                        "description": "Gets or sets the metadata path."
                    },
                    "PreferredMetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the preferred metadata language."
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code."
                    },
                    "SortReplaceCharacters": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets characters to be replaced with a ' ' in strings to create a sort name."
                    },
                    "SortRemoveCharacters": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets characters to be removed from strings to create a sort name."
                    },
                    "SortRemoveWords": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets words to be removed from strings to create a sort name."
                    },
                    "MinResumePct": {
                        "type": "integer",
                        "description": "Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated.",
                        "format": "int32"
                    },
                    "MaxResumePct": {
                        "type": "integer",
                        "description": "Gets or sets the maximum percentage of an item that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched.",
                        "format": "int32"
                    },
                    "MinResumeDurationSeconds": {
                        "type": "integer",
                        "description": "Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates..",
                        "format": "int32"
                    },
                    "MinAudiobookResume": {
                        "type": "integer",
                        "description": "Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated.",
                        "format": "int32"
                    },
                    "MaxAudiobookResume": {
                        "type": "integer",
                        "description": "Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched.",
                        "format": "int32"
                    },
                    "InactiveSessionThreshold": {
                        "type": "integer",
                        "description": "Gets or sets the threshold in minutes after a inactive session gets closed automatically.\r\nIf set to 0 the check for inactive sessions gets disabled.",
                        "format": "int32"
                    },
                    "LibraryMonitorDelay": {
                        "type": "integer",
                        "description": "Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed\r\nSome delay is necessary with some items because their creation is not atomic.  It involves the creation of several\r\ndifferent directories and files.",
                        "format": "int32"
                    },
                    "LibraryUpdateDuration": {
                        "type": "integer",
                        "description": "Gets or sets the duration in seconds that we will wait after a library updated event before executing the library changed notification.",
                        "format": "int32"
                    },
                    "ImageSavingConvention": {
                        "enum": [
                            "Legacy",
                            "Compatible"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ImageSavingConvention"
                            }
                        ],
                        "description": "Gets or sets the image saving convention."
                    },
                    "MetadataOptions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MetadataOptions"
                        }
                    },
                    "SkipDeserializationForBasicTypes": {
                        "type": "boolean"
                    },
                    "ServerName": {
                        "type": "string"
                    },
                    "UICulture": {
                        "type": "string"
                    },
                    "SaveMetadataHidden": {
                        "type": "boolean"
                    },
                    "ContentTypes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NameValuePair"
                        }
                    },
                    "RemoteClientBitrateLimit": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "EnableFolderView": {
                        "type": "boolean"
                    },
                    "EnableGroupingIntoCollections": {
                        "type": "boolean"
                    },
                    "DisplaySpecialsWithinSeasons": {
                        "type": "boolean"
                    },
                    "CodecsUsed": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "PluginRepositories": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RepositoryInfo"
                        }
                    },
                    "EnableExternalContentInSuggestions": {
                        "type": "boolean"
                    },
                    "ImageExtractionTimeoutMs": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "PathSubstitutions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PathSubstitution"
                        }
                    },
                    "EnableSlowResponseWarning": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether slow server responses should be logged as a warning."
                    },
                    "SlowResponseThresholdMs": {
                        "type": "integer",
                        "description": "Gets or sets the threshold for the slow response time warning in ms.",
                        "format": "int64"
                    },
                    "CorsHosts": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the cors hosts."
                    },
                    "ActivityLogRetentionDays": {
                        "type": "integer",
                        "description": "Gets or sets the number of days we should retain activity logs.",
                        "format": "int32",
                        "nullable": true
                    },
                    "LibraryScanFanoutConcurrency": {
                        "type": "integer",
                        "description": "Gets or sets the how the library scan fans out.",
                        "format": "int32"
                    },
                    "LibraryMetadataRefreshConcurrency": {
                        "type": "integer",
                        "description": "Gets or sets the how many metadata refreshes can run concurrently.",
                        "format": "int32"
                    },
                    "RemoveOldPlugins": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder."
                    },
                    "AllowClientLogUpload": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether clients should be allowed to upload logs."
                    },
                    "DummyChapterDuration": {
                        "type": "integer",
                        "description": "Gets or sets the dummy chapter duration in seconds, use 0 (zero) or less to disable generation alltogether.",
                        "format": "int32"
                    },
                    "ChapterImageResolution": {
                        "enum": [
                            "MatchSource",
                            "P144",
                            "P240",
                            "P360",
                            "P480",
                            "P720",
                            "P1080",
                            "P1440",
                            "P2160"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ImageResolution"
                            }
                        ],
                        "description": "Gets or sets the chapter image resolution."
                    },
                    "ParallelImageEncodingLimit": {
                        "type": "integer",
                        "description": "Gets or sets the limit for parallel image encoding.",
                        "format": "int32"
                    },
                    "CastReceiverApplications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CastReceiverApplication"
                        },
                        "description": "Gets or sets the list of cast receiver applications."
                    },
                    "TrickplayOptions": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TrickplayOptions"
                            }
                        ],
                        "description": "Gets or sets the trickplay options."
                    }
                },
                "additionalProperties": false,
                "description": "Represents the server configuration."
            },
            "ServerDiscoveryInfo": {
                "type": "object",
                "properties": {
                    "Address": {
                        "type": "string",
                        "description": "Gets the address."
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets the server identifier."
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets the name."
                    },
                    "EndpointAddress": {
                        "type": "string",
                        "description": "Gets the endpoint address.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "The server discovery info model."
            },
            "ServerRestartingMessage": {
                "type": "object",
                "properties": {
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ServerRestarting",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Server restarting down message."
            },
            "ServerShuttingDownMessage": {
                "type": "object",
                "properties": {
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "ServerShuttingDown",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Server shutting down message."
            },
            "SessionInfoDto": {
                "type": "object",
                "properties": {
                    "PlayState": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PlayerStateInfo"
                            }
                        ],
                        "description": "Gets or sets the play state.",
                        "nullable": true
                    },
                    "AdditionalUsers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SessionUserInfo"
                        },
                        "description": "Gets or sets the additional users.",
                        "nullable": true
                    },
                    "Capabilities": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ClientCapabilitiesDto"
                            }
                        ],
                        "description": "Gets or sets the client capabilities.",
                        "nullable": true
                    },
                    "RemoteEndPoint": {
                        "type": "string",
                        "description": "Gets or sets the remote end point.",
                        "nullable": true
                    },
                    "PlayableMediaTypes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaType"
                        },
                        "description": "Gets or sets the playable media types."
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the id.",
                        "nullable": true
                    },
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets the user id.",
                        "format": "uuid"
                    },
                    "UserName": {
                        "type": "string",
                        "description": "Gets or sets the username.",
                        "nullable": true
                    },
                    "Client": {
                        "type": "string",
                        "description": "Gets or sets the type of the client.",
                        "nullable": true
                    },
                    "LastActivityDate": {
                        "type": "string",
                        "description": "Gets or sets the last activity date.",
                        "format": "date-time"
                    },
                    "LastPlaybackCheckIn": {
                        "type": "string",
                        "description": "Gets or sets the last playback check in.",
                        "format": "date-time"
                    },
                    "LastPausedDate": {
                        "type": "string",
                        "description": "Gets or sets the last paused date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "DeviceName": {
                        "type": "string",
                        "description": "Gets or sets the name of the device.",
                        "nullable": true
                    },
                    "DeviceType": {
                        "type": "string",
                        "description": "Gets or sets the type of the device.",
                        "nullable": true
                    },
                    "NowPlayingItem": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BaseItemDto"
                            }
                        ],
                        "description": "Gets or sets the now playing item.",
                        "nullable": true
                    },
                    "NowViewingItem": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BaseItemDto"
                            }
                        ],
                        "description": "Gets or sets the now viewing item.",
                        "nullable": true
                    },
                    "DeviceId": {
                        "type": "string",
                        "description": "Gets or sets the device id.",
                        "nullable": true
                    },
                    "ApplicationVersion": {
                        "type": "string",
                        "description": "Gets or sets the application version.",
                        "nullable": true
                    },
                    "TranscodingInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TranscodingInfo"
                            }
                        ],
                        "description": "Gets or sets the transcoding info.",
                        "nullable": true
                    },
                    "IsActive": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this session is active."
                    },
                    "SupportsMediaControl": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the session supports media control."
                    },
                    "SupportsRemoteControl": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the session supports remote control."
                    },
                    "NowPlayingQueue": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/QueueItem"
                        },
                        "description": "Gets or sets the now playing queue.",
                        "nullable": true
                    },
                    "NowPlayingQueueFullItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BaseItemDto"
                        },
                        "description": "Gets or sets the now playing queue full items.",
                        "nullable": true
                    },
                    "HasCustomDeviceName": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the session has a custom device name."
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets or sets the playlist item id.",
                        "nullable": true
                    },
                    "ServerId": {
                        "type": "string",
                        "description": "Gets or sets the server id.",
                        "nullable": true
                    },
                    "UserPrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the user primary image tag.",
                        "nullable": true
                    },
                    "SupportedCommands": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/GeneralCommandType"
                        },
                        "description": "Gets or sets the supported commands."
                    }
                },
                "additionalProperties": false,
                "description": "Session info DTO."
            },
            "SessionMessageType": {
                "enum": [
                    "ForceKeepAlive",
                    "GeneralCommand",
                    "UserDataChanged",
                    "Sessions",
                    "Play",
                    "SyncPlayCommand",
                    "SyncPlayGroupUpdate",
                    "Playstate",
                    "RestartRequired",
                    "ServerShuttingDown",
                    "ServerRestarting",
                    "LibraryChanged",
                    "UserDeleted",
                    "UserUpdated",
                    "SeriesTimerCreated",
                    "TimerCreated",
                    "SeriesTimerCancelled",
                    "TimerCancelled",
                    "RefreshProgress",
                    "ScheduledTaskEnded",
                    "PackageInstallationCancelled",
                    "PackageInstallationFailed",
                    "PackageInstallationCompleted",
                    "PackageInstalling",
                    "PackageUninstalled",
                    "ActivityLogEntry",
                    "ScheduledTasksInfo",
                    "ActivityLogEntryStart",
                    "ActivityLogEntryStop",
                    "SessionsStart",
                    "SessionsStop",
                    "ScheduledTasksInfoStart",
                    "ScheduledTasksInfoStop",
                    "KeepAlive"
                ],
                "type": "string",
                "description": "The different kinds of messages that are used in the WebSocket api."
            },
            "SessionsMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SessionInfoDto"
                        },
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "Sessions",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Sessions message."
            },
            "SessionsStartMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "type": "string",
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "SessionsStart",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Sessions start message.\r\nData is the timing data encoded as \"$initialDelay,$interval\" in ms."
            },
            "SessionsStopMessage": {
                "type": "object",
                "properties": {
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "SessionsStop",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Sessions stop message."
            },
            "SessionUserInfo": {
                "type": "object",
                "properties": {
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets the user identifier.",
                        "format": "uuid"
                    },
                    "UserName": {
                        "type": "string",
                        "description": "Gets or sets the name of the user.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class SessionUserInfo."
            },
            "SetChannelMappingDto": {
                "required": [
                    "ProviderChannelId",
                    "ProviderId",
                    "TunerChannelId"
                ],
                "type": "object",
                "properties": {
                    "ProviderId": {
                        "type": "string",
                        "description": "Gets or sets the provider id."
                    },
                    "TunerChannelId": {
                        "type": "string",
                        "description": "Gets or sets the tuner channel id."
                    },
                    "ProviderChannelId": {
                        "type": "string",
                        "description": "Gets or sets the provider channel id."
                    }
                },
                "additionalProperties": false,
                "description": "Set channel mapping dto."
            },
            "SetPlaylistItemRequestDto": {
                "type": "object",
                "properties": {
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets or sets the playlist identifier of the playing item.",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false,
                "description": "Class SetPlaylistItemRequestDto."
            },
            "SetRepeatModeRequestDto": {
                "type": "object",
                "properties": {
                    "Mode": {
                        "enum": [
                            "RepeatOne",
                            "RepeatAll",
                            "RepeatNone"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupRepeatMode"
                            }
                        ],
                        "description": "Enum GroupRepeatMode."
                    }
                },
                "additionalProperties": false,
                "description": "Class SetRepeatModeRequestDto."
            },
            "SetShuffleModeRequestDto": {
                "type": "object",
                "properties": {
                    "Mode": {
                        "enum": [
                            "Sorted",
                            "Shuffle"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupShuffleMode"
                            }
                        ],
                        "description": "Enum GroupShuffleMode."
                    }
                },
                "additionalProperties": false,
                "description": "Class SetShuffleModeRequestDto."
            },
            "SongInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    },
                    "AlbumArtists": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "Album": {
                        "type": "string",
                        "nullable": true
                    },
                    "Artists": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "SortOrder": {
                "enum": [
                    "Ascending",
                    "Descending"
                ],
                "type": "string",
                "description": "An enum representing the sorting order."
            },
            "SpecialViewOptionDto": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets view option name.",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets view option id.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Special view option dto."
            },
            "StartupConfigurationDto": {
                "type": "object",
                "properties": {
                    "UICulture": {
                        "type": "string",
                        "description": "Gets or sets UI language culture.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "PreferredMetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the preferred language for the metadata.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "The startup configuration DTO."
            },
            "StartupRemoteAccessDto": {
                "required": [
                    "EnableAutomaticPortMapping",
                    "EnableRemoteAccess"
                ],
                "type": "object",
                "properties": {
                    "EnableRemoteAccess": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether enable remote access."
                    },
                    "EnableAutomaticPortMapping": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether enable automatic port mapping."
                    }
                },
                "additionalProperties": false,
                "description": "Startup remote access dto."
            },
            "StartupUserDto": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the username.",
                        "nullable": true
                    },
                    "Password": {
                        "type": "string",
                        "description": "Gets or sets the user's password.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "The startup user DTO."
            },
            "Status": {
                "enum": [
                    "Completed",
                    "Watching",
                    "Both"
                ],
                "type": "string"
            },
            "StringGroupUpdate": {
                "type": "object",
                "properties": {
                    "GroupId": {
                        "type": "string",
                        "description": "Gets the group identifier.",
                        "format": "uuid",
                        "readOnly": true
                    },
                    "Type": {
                        "enum": [
                            "UserJoined",
                            "UserLeft",
                            "GroupJoined",
                            "GroupLeft",
                            "StateUpdate",
                            "PlayQueue",
                            "NotInGroup",
                            "GroupDoesNotExist",
                            "CreateGroupDenied",
                            "JoinGroupDenied",
                            "LibraryAccessDenied"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupUpdateType"
                            }
                        ],
                        "description": "Gets the update type."
                    },
                    "Data": {
                        "type": "string",
                        "description": "Gets the update data."
                    }
                },
                "additionalProperties": false,
                "description": "Class GroupUpdate."
            },
            "SubtitleDeliveryMethod": {
                "enum": [
                    "Encode",
                    "Embed",
                    "External",
                    "Hls",
                    "Drop"
                ],
                "type": "string",
                "description": "Delivery method to use during playback of a specific subtitle format."
            },
            "SubtitleOptions": {
                "type": "object",
                "properties": {
                    "SkipIfEmbeddedSubtitlesPresent": {
                        "type": "boolean"
                    },
                    "SkipIfAudioTrackMatches": {
                        "type": "boolean"
                    },
                    "DownloadLanguages": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "DownloadMovieSubtitles": {
                        "type": "boolean"
                    },
                    "DownloadEpisodeSubtitles": {
                        "type": "boolean"
                    },
                    "OpenSubtitlesUsername": {
                        "type": "string",
                        "nullable": true
                    },
                    "OpenSubtitlesPasswordHash": {
                        "type": "string",
                        "nullable": true
                    },
                    "IsOpenSubtitleVipAccount": {
                        "type": "boolean"
                    },
                    "RequirePerfectMatch": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "SubtitlePlaybackMode": {
                "enum": [
                    "Default",
                    "Always",
                    "OnlyForced",
                    "None",
                    "Smart"
                ],
                "type": "string",
                "description": "An enum representing a subtitle playback mode."
            },
            "SubtitleProfile": {
                "type": "object",
                "properties": {
                    "Format": {
                        "type": "string",
                        "description": "Gets or sets the format.",
                        "nullable": true
                    },
                    "Method": {
                        "enum": [
                            "Encode",
                            "Embed",
                            "External",
                            "Hls",
                            "Drop"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SubtitleDeliveryMethod"
                            }
                        ],
                        "description": "Gets or sets the delivery method."
                    },
                    "DidlMode": {
                        "type": "string",
                        "description": "Gets or sets the DIDL mode.",
                        "nullable": true
                    },
                    "Language": {
                        "type": "string",
                        "description": "Gets or sets the language.",
                        "nullable": true
                    },
                    "Container": {
                        "type": "string",
                        "description": "Gets or sets the container.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "A class for subtitle profile information."
            },
            "SyncAction": {
                "enum": [
                    "UpdateProvider",
                    "UpdateJellyfin"
                ],
                "type": "string"
            },
            "SyncPlayCommandMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SendCommand"
                            }
                        ],
                        "description": "Class SendCommand.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "SyncPlayCommand",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Sync play command."
            },
            "SyncPlayGroupUpdateCommandMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/GroupUpdate"
                            }
                        ],
                        "description": "Group update without data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "SyncPlayGroupUpdate",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Untyped sync play command."
            },
            "SyncPlayQueueItem": {
                "type": "object",
                "properties": {
                    "ItemId": {
                        "type": "string",
                        "description": "Gets the item identifier.",
                        "format": "uuid"
                    },
                    "PlaylistItemId": {
                        "type": "string",
                        "description": "Gets the playlist identifier of the item.",
                        "format": "uuid",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Class QueueItem."
            },
            "SyncPlayUserAccessType": {
                "enum": [
                    "CreateAndJoinGroups",
                    "JoinGroups",
                    "None"
                ],
                "type": "string",
                "description": "Enum SyncPlayUserAccessType."
            },
            "SyncStats": {
                "type": "object",
                "properties": {
                    "UpdatedFolders": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "RemovedFolders": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "UpdatedBoxSets": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "RemovedBoxSets": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "UpdatedPlaylists": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "RemovedPlaylists": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "UpdatedTvShows": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "RemovedTvShows": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "UpdatedSeasons": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "RemovedSeasons": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "UpdatedVideos": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "RemovedVideos": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "UpdatedCollectionFolders": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "UpdatedUserData": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "additionalProperties": false
            },
            "SystemInfo": {
                "type": "object",
                "properties": {
                    "LocalAddress": {
                        "type": "string",
                        "description": "Gets or sets the local address.",
                        "nullable": true
                    },
                    "ServerName": {
                        "type": "string",
                        "description": "Gets or sets the name of the server.",
                        "nullable": true
                    },
                    "Version": {
                        "type": "string",
                        "description": "Gets or sets the server version.",
                        "nullable": true
                    },
                    "ProductName": {
                        "type": "string",
                        "description": "Gets or sets the product name. This is the AssemblyProduct name.",
                        "nullable": true
                    },
                    "OperatingSystem": {
                        "type": "string",
                        "description": "Gets or sets the operating system.",
                        "nullable": true,
                        "deprecated": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the id.",
                        "nullable": true
                    },
                    "StartupWizardCompleted": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the startup wizard is completed.",
                        "nullable": true
                    },
                    "OperatingSystemDisplayName": {
                        "type": "string",
                        "description": "Gets or sets the display name of the operating system.",
                        "nullable": true,
                        "deprecated": true
                    },
                    "PackageName": {
                        "type": "string",
                        "description": "Gets or sets the package name.",
                        "nullable": true
                    },
                    "HasPendingRestart": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance has pending restart."
                    },
                    "IsShuttingDown": {
                        "type": "boolean"
                    },
                    "SupportsLibraryMonitor": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [supports library monitor]."
                    },
                    "WebSocketPortNumber": {
                        "type": "integer",
                        "description": "Gets or sets the web socket port number.",
                        "format": "int32"
                    },
                    "CompletedInstallations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/InstallationInfo"
                        },
                        "description": "Gets or sets the completed installations.",
                        "nullable": true
                    },
                    "CanSelfRestart": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance can self restart.",
                        "default": true,
                        "deprecated": true
                    },
                    "CanLaunchWebBrowser": {
                        "type": "boolean",
                        "default": false,
                        "deprecated": true
                    },
                    "ProgramDataPath": {
                        "type": "string",
                        "description": "Gets or sets the program data path.",
                        "nullable": true
                    },
                    "WebPath": {
                        "type": "string",
                        "description": "Gets or sets the web UI resources path.",
                        "nullable": true
                    },
                    "ItemsByNamePath": {
                        "type": "string",
                        "description": "Gets or sets the items by name path.",
                        "nullable": true
                    },
                    "CachePath": {
                        "type": "string",
                        "description": "Gets or sets the cache path.",
                        "nullable": true
                    },
                    "LogPath": {
                        "type": "string",
                        "description": "Gets or sets the log path.",
                        "nullable": true
                    },
                    "InternalMetadataPath": {
                        "type": "string",
                        "description": "Gets or sets the internal metadata path.",
                        "nullable": true
                    },
                    "TranscodingTempPath": {
                        "type": "string",
                        "description": "Gets or sets the transcode path.",
                        "nullable": true
                    },
                    "CastReceiverApplications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CastReceiverApplication"
                        },
                        "description": "Gets or sets the list of cast receiver applications.",
                        "nullable": true
                    },
                    "HasUpdateAvailable": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance has update available.",
                        "default": false,
                        "deprecated": true
                    },
                    "EncoderLocation": {
                        "type": "string",
                        "default": "System",
                        "nullable": true,
                        "deprecated": true
                    },
                    "SystemArchitecture": {
                        "type": "string",
                        "default": "X64",
                        "nullable": true,
                        "deprecated": true
                    }
                },
                "additionalProperties": false,
                "description": "Class SystemInfo."
            },
            "TaskCompletionStatus": {
                "enum": [
                    "Completed",
                    "Failed",
                    "Cancelled",
                    "Aborted"
                ],
                "type": "string",
                "description": "Enum TaskCompletionStatus."
            },
            "TaskInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "State": {
                        "enum": [
                            "Idle",
                            "Cancelling",
                            "Running"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TaskState"
                            }
                        ],
                        "description": "Gets or sets the state of the task."
                    },
                    "CurrentProgressPercentage": {
                        "type": "number",
                        "description": "Gets or sets the progress.",
                        "format": "double",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the id.",
                        "nullable": true
                    },
                    "LastExecutionResult": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TaskResult"
                            }
                        ],
                        "description": "Gets or sets the last execution result.",
                        "nullable": true
                    },
                    "Triggers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TaskTriggerInfo"
                        },
                        "description": "Gets or sets the triggers.",
                        "nullable": true
                    },
                    "Description": {
                        "type": "string",
                        "description": "Gets or sets the description.",
                        "nullable": true
                    },
                    "Category": {
                        "type": "string",
                        "description": "Gets or sets the category.",
                        "nullable": true
                    },
                    "IsHidden": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is hidden."
                    },
                    "Key": {
                        "type": "string",
                        "description": "Gets or sets the key.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class TaskInfo."
            },
            "TaskResult": {
                "type": "object",
                "properties": {
                    "StartTimeUtc": {
                        "type": "string",
                        "description": "Gets or sets the start time UTC.",
                        "format": "date-time"
                    },
                    "EndTimeUtc": {
                        "type": "string",
                        "description": "Gets or sets the end time UTC.",
                        "format": "date-time"
                    },
                    "Status": {
                        "enum": [
                            "Completed",
                            "Failed",
                            "Cancelled",
                            "Aborted"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TaskCompletionStatus"
                            }
                        ],
                        "description": "Gets or sets the status."
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Key": {
                        "type": "string",
                        "description": "Gets or sets the key.",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the id.",
                        "nullable": true
                    },
                    "ErrorMessage": {
                        "type": "string",
                        "description": "Gets or sets the error message.",
                        "nullable": true
                    },
                    "LongErrorMessage": {
                        "type": "string",
                        "description": "Gets or sets the long error message.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class TaskExecutionInfo."
            },
            "TaskState": {
                "enum": [
                    "Idle",
                    "Cancelling",
                    "Running"
                ],
                "type": "string",
                "description": "Enum TaskState."
            },
            "TaskTriggerInfo": {
                "type": "object",
                "properties": {
                    "Type": {
                        "type": "string",
                        "description": "Gets or sets the type.",
                        "nullable": true
                    },
                    "TimeOfDayTicks": {
                        "type": "integer",
                        "description": "Gets or sets the time of day.",
                        "format": "int64",
                        "nullable": true
                    },
                    "IntervalTicks": {
                        "type": "integer",
                        "description": "Gets or sets the interval.",
                        "format": "int64",
                        "nullable": true
                    },
                    "DayOfWeek": {
                        "enum": [
                            "Sunday",
                            "Monday",
                            "Tuesday",
                            "Wednesday",
                            "Thursday",
                            "Friday",
                            "Saturday"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DayOfWeek"
                            }
                        ],
                        "description": "Gets or sets the day of week.",
                        "nullable": true
                    },
                    "MaxRuntimeTicks": {
                        "type": "integer",
                        "description": "Gets or sets the maximum runtime ticks.",
                        "format": "int64",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class TaskTriggerInfo."
            },
            "ThemeMediaResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BaseItemDto"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    },
                    "OwnerId": {
                        "type": "string",
                        "description": "Gets or sets the owner id.",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false,
                "description": "Class ThemeMediaResult."
            },
            "TimerCancelledMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TimerEventInfo"
                            }
                        ],
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "TimerCancelled",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Timer cancelled message."
            },
            "TimerCreatedMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TimerEventInfo"
                            }
                        ],
                        "description": "Gets or sets the data.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "TimerCreated",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "Timer created message."
            },
            "TimerEventInfo": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string"
                    },
                    "ProgramId": {
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "TimerInfoDto": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the Id of the recording.",
                        "nullable": true
                    },
                    "Type": {
                        "type": "string",
                        "nullable": true
                    },
                    "ServerId": {
                        "type": "string",
                        "description": "Gets or sets the server identifier.",
                        "nullable": true
                    },
                    "ExternalId": {
                        "type": "string",
                        "description": "Gets or sets the external identifier.",
                        "nullable": true
                    },
                    "ChannelId": {
                        "type": "string",
                        "description": "Gets or sets the channel id of the recording.",
                        "format": "uuid"
                    },
                    "ExternalChannelId": {
                        "type": "string",
                        "description": "Gets or sets the external channel identifier.",
                        "nullable": true
                    },
                    "ChannelName": {
                        "type": "string",
                        "description": "Gets or sets the channel name of the recording.",
                        "nullable": true
                    },
                    "ChannelPrimaryImageTag": {
                        "type": "string",
                        "nullable": true
                    },
                    "ProgramId": {
                        "type": "string",
                        "description": "Gets or sets the program identifier.",
                        "nullable": true
                    },
                    "ExternalProgramId": {
                        "type": "string",
                        "description": "Gets or sets the external program identifier.",
                        "nullable": true
                    },
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name of the recording.",
                        "nullable": true
                    },
                    "Overview": {
                        "type": "string",
                        "description": "Gets or sets the description of the recording.",
                        "nullable": true
                    },
                    "StartDate": {
                        "type": "string",
                        "description": "Gets or sets the start date of the recording, in UTC.",
                        "format": "date-time"
                    },
                    "EndDate": {
                        "type": "string",
                        "description": "Gets or sets the end date of the recording, in UTC.",
                        "format": "date-time"
                    },
                    "ServiceName": {
                        "type": "string",
                        "description": "Gets or sets the name of the service.",
                        "nullable": true
                    },
                    "Priority": {
                        "type": "integer",
                        "description": "Gets or sets the priority.",
                        "format": "int32"
                    },
                    "PrePaddingSeconds": {
                        "type": "integer",
                        "description": "Gets or sets the pre padding seconds.",
                        "format": "int32"
                    },
                    "PostPaddingSeconds": {
                        "type": "integer",
                        "description": "Gets or sets the post padding seconds.",
                        "format": "int32"
                    },
                    "IsPrePaddingRequired": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is pre padding required."
                    },
                    "ParentBackdropItemId": {
                        "type": "string",
                        "description": "Gets or sets the Id of the Parent that has a backdrop if the item does not have one.",
                        "nullable": true
                    },
                    "ParentBackdropImageTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the parent backdrop image tags.",
                        "nullable": true
                    },
                    "IsPostPaddingRequired": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is post padding required."
                    },
                    "KeepUntil": {
                        "enum": [
                            "UntilDeleted",
                            "UntilSpaceNeeded",
                            "UntilWatched",
                            "UntilDate"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/KeepUntil"
                            }
                        ]
                    },
                    "Status": {
                        "enum": [
                            "New",
                            "InProgress",
                            "Completed",
                            "Cancelled",
                            "ConflictedOk",
                            "ConflictedNotOk",
                            "Error"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/RecordingStatus"
                            }
                        ],
                        "description": "Gets or sets the status."
                    },
                    "SeriesTimerId": {
                        "type": "string",
                        "description": "Gets or sets the series timer identifier.",
                        "nullable": true
                    },
                    "ExternalSeriesTimerId": {
                        "type": "string",
                        "description": "Gets or sets the external series timer identifier.",
                        "nullable": true
                    },
                    "RunTimeTicks": {
                        "type": "integer",
                        "description": "Gets or sets the run time ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "ProgramInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/BaseItemDto"
                            }
                        ],
                        "description": "Gets or sets the program information.",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "TimerInfoDtoQueryResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TimerInfoDto"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Query result container."
            },
            "TonemappingAlgorithm": {
                "enum": [
                    "none",
                    "clip",
                    "linear",
                    "gamma",
                    "reinhard",
                    "hable",
                    "mobius",
                    "bt2390"
                ],
                "type": "string",
                "description": "Enum containing tonemapping algorithms."
            },
            "TonemappingMode": {
                "enum": [
                    "auto",
                    "max",
                    "rgb",
                    "lum",
                    "itp"
                ],
                "type": "string",
                "description": "Enum containing tonemapping modes."
            },
            "TonemappingRange": {
                "enum": [
                    "auto",
                    "tv",
                    "pc"
                ],
                "type": "string",
                "description": "Enum containing tonemapping ranges."
            },
            "TrailerInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "OriginalTitle": {
                        "type": "string",
                        "description": "Gets or sets the original title.",
                        "nullable": true
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "MetadataLanguage": {
                        "type": "string",
                        "description": "Gets or sets the metadata language.",
                        "nullable": true
                    },
                    "MetadataCountryCode": {
                        "type": "string",
                        "description": "Gets or sets the metadata country code.",
                        "nullable": true
                    },
                    "ProviderIds": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string",
                            "nullable": true
                        },
                        "description": "Gets or sets the provider ids.",
                        "nullable": true
                    },
                    "Year": {
                        "type": "integer",
                        "description": "Gets or sets the year.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "ParentIndexNumber": {
                        "type": "integer",
                        "format": "int32",
                        "nullable": true
                    },
                    "PremiereDate": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "IsAutomated": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "TrailerInfoRemoteSearchQuery": {
                "type": "object",
                "properties": {
                    "SearchInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TrailerInfo"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "SearchProviderName": {
                        "type": "string",
                        "description": "Gets or sets the provider name to search within if set.",
                        "nullable": true
                    },
                    "IncludeDisabledProviders": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether disabled providers should be included."
                    }
                },
                "additionalProperties": false
            },
            "TranscodeReason": {
                "enum": [
                    "ContainerNotSupported",
                    "VideoCodecNotSupported",
                    "AudioCodecNotSupported",
                    "SubtitleCodecNotSupported",
                    "AudioIsExternal",
                    "SecondaryAudioNotSupported",
                    "VideoProfileNotSupported",
                    "VideoLevelNotSupported",
                    "VideoResolutionNotSupported",
                    "VideoBitDepthNotSupported",
                    "VideoFramerateNotSupported",
                    "RefFramesNotSupported",
                    "AnamorphicVideoNotSupported",
                    "InterlacedVideoNotSupported",
                    "AudioChannelsNotSupported",
                    "AudioProfileNotSupported",
                    "AudioSampleRateNotSupported",
                    "AudioBitDepthNotSupported",
                    "ContainerBitrateExceedsLimit",
                    "VideoBitrateNotSupported",
                    "AudioBitrateNotSupported",
                    "UnknownVideoStreamInfo",
                    "UnknownAudioStreamInfo",
                    "DirectPlayError",
                    "VideoRangeTypeNotSupported",
                    "VideoCodecTagNotSupported"
                ],
                "type": "string"
            },
            "TranscodeSeekInfo": {
                "enum": [
                    "Auto",
                    "Bytes"
                ],
                "type": "string"
            },
            "TranscodingInfo": {
                "type": "object",
                "properties": {
                    "AudioCodec": {
                        "type": "string",
                        "description": "Gets or sets the thread count used for encoding.",
                        "nullable": true
                    },
                    "VideoCodec": {
                        "type": "string",
                        "description": "Gets or sets the thread count used for encoding.",
                        "nullable": true
                    },
                    "Container": {
                        "type": "string",
                        "description": "Gets or sets the thread count used for encoding.",
                        "nullable": true
                    },
                    "IsVideoDirect": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the video is passed through."
                    },
                    "IsAudioDirect": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the audio is passed through."
                    },
                    "Bitrate": {
                        "type": "integer",
                        "description": "Gets or sets the bitrate.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Framerate": {
                        "type": "number",
                        "description": "Gets or sets the framerate.",
                        "format": "float",
                        "nullable": true
                    },
                    "CompletionPercentage": {
                        "type": "number",
                        "description": "Gets or sets the completion percentage.",
                        "format": "double",
                        "nullable": true
                    },
                    "Width": {
                        "type": "integer",
                        "description": "Gets or sets the video width.",
                        "format": "int32",
                        "nullable": true
                    },
                    "Height": {
                        "type": "integer",
                        "description": "Gets or sets the video height.",
                        "format": "int32",
                        "nullable": true
                    },
                    "AudioChannels": {
                        "type": "integer",
                        "description": "Gets or sets the audio channels.",
                        "format": "int32",
                        "nullable": true
                    },
                    "HardwareAccelerationType": {
                        "enum": [
                            "none",
                            "amf",
                            "qsv",
                            "nvenc",
                            "v4l2m2m",
                            "vaapi",
                            "videotoolbox",
                            "rkmpp"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/HardwareAccelerationType"
                            }
                        ],
                        "description": "Gets or sets the hardware acceleration type.",
                        "nullable": true
                    },
                    "TranscodeReasons": {
                        "enum": [
                            "ContainerNotSupported",
                            "VideoCodecNotSupported",
                            "AudioCodecNotSupported",
                            "SubtitleCodecNotSupported",
                            "AudioIsExternal",
                            "SecondaryAudioNotSupported",
                            "VideoProfileNotSupported",
                            "VideoLevelNotSupported",
                            "VideoResolutionNotSupported",
                            "VideoBitDepthNotSupported",
                            "VideoFramerateNotSupported",
                            "RefFramesNotSupported",
                            "AnamorphicVideoNotSupported",
                            "InterlacedVideoNotSupported",
                            "AudioChannelsNotSupported",
                            "AudioProfileNotSupported",
                            "AudioSampleRateNotSupported",
                            "AudioBitDepthNotSupported",
                            "ContainerBitrateExceedsLimit",
                            "VideoBitrateNotSupported",
                            "AudioBitrateNotSupported",
                            "UnknownVideoStreamInfo",
                            "UnknownAudioStreamInfo",
                            "DirectPlayError",
                            "VideoRangeTypeNotSupported",
                            "VideoCodecTagNotSupported"
                        ],
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TranscodeReason"
                        },
                        "description": "Gets or sets the transcode reasons."
                    }
                },
                "additionalProperties": false,
                "description": "Class holding information on a runnning transcode."
            },
            "TranscodingProfile": {
                "type": "object",
                "properties": {
                    "Container": {
                        "type": "string",
                        "description": "Gets or sets the container."
                    },
                    "Type": {
                        "enum": [
                            "Audio",
                            "Video",
                            "Photo",
                            "Subtitle",
                            "Lyric"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/DlnaProfileType"
                            }
                        ],
                        "description": "Gets or sets the DLNA profile type."
                    },
                    "VideoCodec": {
                        "type": "string",
                        "description": "Gets or sets the video codec."
                    },
                    "AudioCodec": {
                        "type": "string",
                        "description": "Gets or sets the audio codec."
                    },
                    "Protocol": {
                        "enum": [
                            "http",
                            "hls"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaStreamProtocol"
                            }
                        ],
                        "description": "Gets or sets the protocol."
                    },
                    "EstimateContentLength": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the content length should be estimated.",
                        "default": false
                    },
                    "EnableMpegtsM2TsMode": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether M2TS mode is enabled.",
                        "default": false
                    },
                    "TranscodeSeekInfo": {
                        "enum": [
                            "Auto",
                            "Bytes"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TranscodeSeekInfo"
                            }
                        ],
                        "description": "Gets or sets the transcoding seek info mode.",
                        "default": "Auto"
                    },
                    "CopyTimestamps": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether timestamps should be copied.",
                        "default": false
                    },
                    "Context": {
                        "enum": [
                            "Streaming",
                            "Static"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/EncodingContext"
                            }
                        ],
                        "description": "Gets or sets the encoding context.",
                        "default": "Streaming"
                    },
                    "EnableSubtitlesInManifest": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether subtitles are allowed in the manifest.",
                        "default": false
                    },
                    "MaxAudioChannels": {
                        "type": "string",
                        "description": "Gets or sets the maximum audio channels.",
                        "nullable": true
                    },
                    "MinSegments": {
                        "type": "integer",
                        "description": "Gets or sets the minimum amount of segments.",
                        "format": "int32",
                        "default": 0
                    },
                    "SegmentLength": {
                        "type": "integer",
                        "description": "Gets or sets the segment length.",
                        "format": "int32",
                        "default": 0
                    },
                    "BreakOnNonKeyFrames": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether breaking the video stream on non-keyframes is supported.",
                        "default": false
                    },
                    "Conditions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProfileCondition"
                        },
                        "description": "Gets or sets the profile conditions."
                    },
                    "EnableAudioVbrEncoding": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether variable bitrate encoding is supported.",
                        "default": true
                    }
                },
                "additionalProperties": false,
                "description": "A class for transcoding profile information.\r\nNote for client developers: Conditions defined in MediaBrowser.Model.Dlna.CodecProfile has higher priority and can override values defined here."
            },
            "TransportStreamTimestamp": {
                "enum": [
                    "None",
                    "Zero",
                    "Valid"
                ],
                "type": "string"
            },
            "TrickplayInfo": {
                "type": "object",
                "properties": {
                    "Width": {
                        "type": "integer",
                        "description": "Gets or sets width of an individual thumbnail.",
                        "format": "int32"
                    },
                    "Height": {
                        "type": "integer",
                        "description": "Gets or sets height of an individual thumbnail.",
                        "format": "int32"
                    },
                    "TileWidth": {
                        "type": "integer",
                        "description": "Gets or sets amount of thumbnails per row.",
                        "format": "int32"
                    },
                    "TileHeight": {
                        "type": "integer",
                        "description": "Gets or sets amount of thumbnails per column.",
                        "format": "int32"
                    },
                    "ThumbnailCount": {
                        "type": "integer",
                        "description": "Gets or sets total amount of non-black thumbnails.",
                        "format": "int32"
                    },
                    "Interval": {
                        "type": "integer",
                        "description": "Gets or sets interval in milliseconds between each trickplay thumbnail.",
                        "format": "int32"
                    },
                    "Bandwidth": {
                        "type": "integer",
                        "description": "Gets or sets peak bandwith usage in bits per second.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "An entity representing the metadata for a group of trickplay tiles."
            },
            "TrickplayOptions": {
                "type": "object",
                "properties": {
                    "EnableHwAcceleration": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether or not to use HW acceleration."
                    },
                    "EnableHwEncoding": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether or not to use HW accelerated MJPEG encoding."
                    },
                    "EnableKeyFrameOnlyExtraction": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to only extract key frames.\r\nSignificantly faster, but is not compatible with all decoders and/or video files."
                    },
                    "ScanBehavior": {
                        "enum": [
                            "Blocking",
                            "NonBlocking"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/TrickplayScanBehavior"
                            }
                        ],
                        "description": "Gets or sets the behavior used by trickplay provider on library scan/update."
                    },
                    "ProcessPriority": {
                        "enum": [
                            "Normal",
                            "Idle",
                            "High",
                            "RealTime",
                            "BelowNormal",
                            "AboveNormal"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ProcessPriorityClass"
                            }
                        ],
                        "description": "Gets or sets the process priority for the ffmpeg process."
                    },
                    "Interval": {
                        "type": "integer",
                        "description": "Gets or sets the interval, in ms, between each new trickplay image.",
                        "format": "int32"
                    },
                    "WidthResolutions": {
                        "type": "array",
                        "items": {
                            "type": "integer",
                            "format": "int32"
                        },
                        "description": "Gets or sets the target width resolutions, in px, to generates preview images for."
                    },
                    "TileWidth": {
                        "type": "integer",
                        "description": "Gets or sets number of tile images to allow in X dimension.",
                        "format": "int32"
                    },
                    "TileHeight": {
                        "type": "integer",
                        "description": "Gets or sets number of tile images to allow in Y dimension.",
                        "format": "int32"
                    },
                    "Qscale": {
                        "type": "integer",
                        "description": "Gets or sets the ffmpeg output quality level.",
                        "format": "int32"
                    },
                    "JpegQuality": {
                        "type": "integer",
                        "description": "Gets or sets the jpeg quality to use for image tiles.",
                        "format": "int32"
                    },
                    "ProcessThreads": {
                        "type": "integer",
                        "description": "Gets or sets the number of threads to be used by ffmpeg.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Class TrickplayOptions."
            },
            "TrickplayScanBehavior": {
                "enum": [
                    "Blocking",
                    "NonBlocking"
                ],
                "type": "string",
                "description": "Enum TrickplayScanBehavior."
            },
            "TunerChannelMapping": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "nullable": true
                    },
                    "ProviderChannelName": {
                        "type": "string",
                        "nullable": true
                    },
                    "ProviderChannelId": {
                        "type": "string",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "TunerHostInfo": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "nullable": true
                    },
                    "Url": {
                        "type": "string",
                        "nullable": true
                    },
                    "Type": {
                        "type": "string",
                        "nullable": true
                    },
                    "DeviceId": {
                        "type": "string",
                        "nullable": true
                    },
                    "FriendlyName": {
                        "type": "string",
                        "nullable": true
                    },
                    "ImportFavoritesOnly": {
                        "type": "boolean"
                    },
                    "AllowHWTranscoding": {
                        "type": "boolean"
                    },
                    "AllowFmp4TranscodingContainer": {
                        "type": "boolean"
                    },
                    "AllowStreamSharing": {
                        "type": "boolean"
                    },
                    "FallbackMaxStreamingBitrate": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "EnableStreamLooping": {
                        "type": "boolean"
                    },
                    "Source": {
                        "type": "string",
                        "nullable": true
                    },
                    "TunerCount": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "UserAgent": {
                        "type": "string",
                        "nullable": true
                    },
                    "IgnoreDts": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            },
            "TypeOptions": {
                "type": "object",
                "properties": {
                    "Type": {
                        "type": "string",
                        "nullable": true
                    },
                    "MetadataFetchers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "MetadataFetcherOrder": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "ImageFetchers": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "ImageFetcherOrder": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "ImageOptions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ImageOption"
                        },
                        "nullable": true
                    }
                },
                "additionalProperties": false
            },
            "UnratedItem": {
                "enum": [
                    "Movie",
                    "Trailer",
                    "Series",
                    "Music",
                    "Book",
                    "LiveTvChannel",
                    "LiveTvProgram",
                    "ChannelContent",
                    "Other"
                ],
                "type": "string",
                "description": "An enum representing an unrated item."
            },
            "UpdateLibraryOptionsDto": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the library item id.",
                        "format": "uuid"
                    },
                    "LibraryOptions": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LibraryOptions"
                            }
                        ],
                        "description": "Gets or sets library options.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Update library options dto."
            },
            "UpdateMediaPathRequestDto": {
                "required": [
                    "Name",
                    "PathInfo"
                ],
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the library name."
                    },
                    "PathInfo": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/MediaPathInfo"
                            }
                        ],
                        "description": "Gets or sets library folder path information."
                    }
                },
                "additionalProperties": false,
                "description": "Update library options dto."
            },
            "UpdatePlaylistDto": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name of the new playlist.",
                        "nullable": true
                    },
                    "Ids": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "description": "Gets or sets item ids of the playlist.",
                        "nullable": true
                    },
                    "Users": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PlaylistUserPermissions"
                        },
                        "description": "Gets or sets the playlist users.",
                        "nullable": true
                    },
                    "IsPublic": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the playlist is public.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Update existing playlist dto. Fields set to `null` will not be updated and keep their current values."
            },
            "UpdatePlaylistUserDto": {
                "type": "object",
                "properties": {
                    "CanEdit": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the user can edit the playlist.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Update existing playlist user dto. Fields set to `null` will not be updated and keep their current values."
            },
            "UpdateUserItemDataDto": {
                "type": "object",
                "properties": {
                    "Rating": {
                        "type": "number",
                        "description": "Gets or sets the rating.",
                        "format": "double",
                        "nullable": true
                    },
                    "PlayedPercentage": {
                        "type": "number",
                        "description": "Gets or sets the played percentage.",
                        "format": "double",
                        "nullable": true
                    },
                    "UnplayedItemCount": {
                        "type": "integer",
                        "description": "Gets or sets the unplayed item count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "PlaybackPositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the playback position ticks.",
                        "format": "int64",
                        "nullable": true
                    },
                    "PlayCount": {
                        "type": "integer",
                        "description": "Gets or sets the play count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "IsFavorite": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is favorite.",
                        "nullable": true
                    },
                    "Likes": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UpdateUserItemDataDto is likes.",
                        "nullable": true
                    },
                    "LastPlayedDate": {
                        "type": "string",
                        "description": "Gets or sets the last played date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "Played": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played.",
                        "nullable": true
                    },
                    "Key": {
                        "type": "string",
                        "description": "Gets or sets the key.",
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the item identifier.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "This is used by the api to get information about a item user data."
            },
            "UpdateUserPassword": {
                "type": "object",
                "properties": {
                    "CurrentPassword": {
                        "type": "string",
                        "description": "Gets or sets the current sha1-hashed password.",
                        "nullable": true
                    },
                    "CurrentPw": {
                        "type": "string",
                        "description": "Gets or sets the current plain text password.",
                        "nullable": true
                    },
                    "NewPw": {
                        "type": "string",
                        "description": "Gets or sets the new plain text password.",
                        "nullable": true
                    },
                    "ResetPassword": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether to reset the password."
                    }
                },
                "additionalProperties": false,
                "description": "The update user password request body."
            },
            "UploadSubtitleDto": {
                "required": [
                    "Data",
                    "Format",
                    "IsForced",
                    "IsHearingImpaired",
                    "Language"
                ],
                "type": "object",
                "properties": {
                    "Language": {
                        "type": "string",
                        "description": "Gets or sets the subtitle language."
                    },
                    "Format": {
                        "type": "string",
                        "description": "Gets or sets the subtitle format."
                    },
                    "IsForced": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the subtitle is forced."
                    },
                    "IsHearingImpaired": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether the subtitle is for hearing impaired."
                    },
                    "Data": {
                        "type": "string",
                        "description": "Gets or sets the subtitle data."
                    }
                },
                "additionalProperties": false,
                "description": "Upload subtitles dto."
            },
            "UserConfiguration": {
                "type": "object",
                "properties": {
                    "AudioLanguagePreference": {
                        "type": "string",
                        "description": "Gets or sets the audio language preference.",
                        "nullable": true
                    },
                    "PlayDefaultAudioTrack": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [play default audio track]."
                    },
                    "SubtitleLanguagePreference": {
                        "type": "string",
                        "description": "Gets or sets the subtitle language preference.",
                        "nullable": true
                    },
                    "DisplayMissingEpisodes": {
                        "type": "boolean"
                    },
                    "GroupedFolders": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    "SubtitleMode": {
                        "enum": [
                            "Default",
                            "Always",
                            "OnlyForced",
                            "None",
                            "Smart"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SubtitlePlaybackMode"
                            }
                        ],
                        "description": "An enum representing a subtitle playback mode."
                    },
                    "DisplayCollectionsView": {
                        "type": "boolean"
                    },
                    "EnableLocalPassword": {
                        "type": "boolean"
                    },
                    "OrderedViews": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    "LatestItemsExcludes": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    "MyMediaExcludes": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    "HidePlayedInLatest": {
                        "type": "boolean"
                    },
                    "RememberAudioSelections": {
                        "type": "boolean"
                    },
                    "RememberSubtitleSelections": {
                        "type": "boolean"
                    },
                    "EnableNextEpisodeAutoPlay": {
                        "type": "boolean"
                    },
                    "CastReceiverId": {
                        "type": "string",
                        "description": "Gets or sets the id of the selected cast receiver.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class UserConfiguration."
            },
            "UserDataChangedMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/UserDataChangeInfo"
                            }
                        ],
                        "description": "Class UserDataChangeInfo.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "UserDataChanged",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "User data changed message."
            },
            "UserDataChangeInfo": {
                "type": "object",
                "properties": {
                    "UserId": {
                        "type": "string",
                        "description": "Gets or sets the user id.",
                        "format": "uuid"
                    },
                    "UserDataList": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserItemDataDto"
                        },
                        "description": "Gets or sets the user data list."
                    }
                },
                "additionalProperties": false,
                "description": "Class UserDataChangeInfo."
            },
            "UserDeletedMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "type": "string",
                        "description": "Gets or sets the data.",
                        "format": "uuid"
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "UserDeleted",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "User deleted message."
            },
            "UserDto": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "ServerId": {
                        "type": "string",
                        "description": "Gets or sets the server identifier.",
                        "nullable": true
                    },
                    "ServerName": {
                        "type": "string",
                        "description": "Gets or sets the name of the server.\r\nThis is not used by the server and is for client-side usage only.",
                        "nullable": true
                    },
                    "Id": {
                        "type": "string",
                        "description": "Gets or sets the id.",
                        "format": "uuid"
                    },
                    "PrimaryImageTag": {
                        "type": "string",
                        "description": "Gets or sets the primary image tag.",
                        "nullable": true
                    },
                    "HasPassword": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance has password."
                    },
                    "HasConfiguredPassword": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance has configured password."
                    },
                    "HasConfiguredEasyPassword": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance has configured easy password.",
                        "deprecated": true
                    },
                    "EnableAutoLogin": {
                        "type": "boolean",
                        "description": "Gets or sets whether async login is enabled or not.",
                        "nullable": true
                    },
                    "LastLoginDate": {
                        "type": "string",
                        "description": "Gets or sets the last login date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "LastActivityDate": {
                        "type": "string",
                        "description": "Gets or sets the last activity date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "Configuration": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/UserConfiguration"
                            }
                        ],
                        "description": "Gets or sets the configuration.",
                        "nullable": true
                    },
                    "Policy": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/UserPolicy"
                            }
                        ],
                        "description": "Gets or sets the policy.",
                        "nullable": true
                    },
                    "PrimaryImageAspectRatio": {
                        "type": "number",
                        "description": "Gets or sets the primary image aspect ratio.",
                        "format": "double",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Class UserDto."
            },
            "UserItemDataDto": {
                "type": "object",
                "properties": {
                    "Rating": {
                        "type": "number",
                        "description": "Gets or sets the rating.",
                        "format": "double",
                        "nullable": true
                    },
                    "PlayedPercentage": {
                        "type": "number",
                        "description": "Gets or sets the played percentage.",
                        "format": "double",
                        "nullable": true
                    },
                    "UnplayedItemCount": {
                        "type": "integer",
                        "description": "Gets or sets the unplayed item count.",
                        "format": "int32",
                        "nullable": true
                    },
                    "PlaybackPositionTicks": {
                        "type": "integer",
                        "description": "Gets or sets the playback position ticks.",
                        "format": "int64"
                    },
                    "PlayCount": {
                        "type": "integer",
                        "description": "Gets or sets the play count.",
                        "format": "int32"
                    },
                    "IsFavorite": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is favorite."
                    },
                    "Likes": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes.",
                        "nullable": true
                    },
                    "LastPlayedDate": {
                        "type": "string",
                        "description": "Gets or sets the last played date.",
                        "format": "date-time",
                        "nullable": true
                    },
                    "Played": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played."
                    },
                    "Key": {
                        "type": "string",
                        "description": "Gets or sets the key."
                    },
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the item identifier.",
                        "format": "uuid"
                    }
                },
                "additionalProperties": false,
                "description": "Class UserItemDataDto."
            },
            "UserItemDataDtoQueryResult": {
                "type": "object",
                "properties": {
                    "Items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserItemDataDto"
                        },
                        "description": "Gets or sets the items."
                    },
                    "TotalRecordCount": {
                        "type": "integer",
                        "description": "Gets or sets the total number of records available.",
                        "format": "int32"
                    },
                    "StartIndex": {
                        "type": "integer",
                        "description": "Gets or sets the index of the first record in Items.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Query result container."
            },
            "UserPolicy": {
                "required": [
                    "AuthenticationProviderId",
                    "PasswordResetProviderId"
                ],
                "type": "object",
                "properties": {
                    "IsAdministrator": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is administrator."
                    },
                    "IsHidden": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is hidden."
                    },
                    "EnableCollectionManagement": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance can manage collections.",
                        "default": false
                    },
                    "EnableSubtitleManagement": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance can manage subtitles.",
                        "default": false
                    },
                    "EnableLyricManagement": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this user can manage lyrics.",
                        "default": false
                    },
                    "IsDisabled": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether this instance is disabled."
                    },
                    "MaxParentalRating": {
                        "type": "integer",
                        "description": "Gets or sets the max parental rating.",
                        "format": "int32",
                        "nullable": true
                    },
                    "BlockedTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "AllowedTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "EnableUserPreferenceAccess": {
                        "type": "boolean"
                    },
                    "AccessSchedules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AccessSchedule"
                        },
                        "nullable": true
                    },
                    "BlockUnratedItems": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UnratedItem"
                        },
                        "nullable": true
                    },
                    "EnableRemoteControlOfOtherUsers": {
                        "type": "boolean"
                    },
                    "EnableSharedDeviceControl": {
                        "type": "boolean"
                    },
                    "EnableRemoteAccess": {
                        "type": "boolean"
                    },
                    "EnableLiveTvManagement": {
                        "type": "boolean"
                    },
                    "EnableLiveTvAccess": {
                        "type": "boolean"
                    },
                    "EnableMediaPlayback": {
                        "type": "boolean"
                    },
                    "EnableAudioPlaybackTranscoding": {
                        "type": "boolean"
                    },
                    "EnableVideoPlaybackTranscoding": {
                        "type": "boolean"
                    },
                    "EnablePlaybackRemuxing": {
                        "type": "boolean"
                    },
                    "ForceRemoteSourceTranscoding": {
                        "type": "boolean"
                    },
                    "EnableContentDeletion": {
                        "type": "boolean"
                    },
                    "EnableContentDeletionFromFolders": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "EnableContentDownloading": {
                        "type": "boolean"
                    },
                    "EnableSyncTranscoding": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether [enable synchronize]."
                    },
                    "EnableMediaConversion": {
                        "type": "boolean"
                    },
                    "EnabledDevices": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "nullable": true
                    },
                    "EnableAllDevices": {
                        "type": "boolean"
                    },
                    "EnabledChannels": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "nullable": true
                    },
                    "EnableAllChannels": {
                        "type": "boolean"
                    },
                    "EnabledFolders": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "nullable": true
                    },
                    "EnableAllFolders": {
                        "type": "boolean"
                    },
                    "InvalidLoginAttemptCount": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "LoginAttemptsBeforeLockout": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "MaxActiveSessions": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "EnablePublicSharing": {
                        "type": "boolean"
                    },
                    "BlockedMediaFolders": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "nullable": true
                    },
                    "BlockedChannels": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "nullable": true
                    },
                    "RemoteClientBitrateLimit": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "AuthenticationProviderId": {
                        "type": "string"
                    },
                    "PasswordResetProviderId": {
                        "type": "string"
                    },
                    "SyncPlayAccess": {
                        "enum": [
                            "CreateAndJoinGroups",
                            "JoinGroups",
                            "None"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SyncPlayUserAccessType"
                            }
                        ],
                        "description": "Gets or sets a value indicating what SyncPlay features the user can access."
                    }
                },
                "additionalProperties": false
            },
            "UserUpdatedMessage": {
                "type": "object",
                "properties": {
                    "Data": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/UserDto"
                            }
                        ],
                        "description": "Class UserDto.",
                        "nullable": true
                    },
                    "MessageId": {
                        "type": "string",
                        "description": "Gets or sets the message id.",
                        "format": "uuid"
                    },
                    "MessageType": {
                        "enum": [
                            "ForceKeepAlive",
                            "GeneralCommand",
                            "UserDataChanged",
                            "Sessions",
                            "Play",
                            "SyncPlayCommand",
                            "SyncPlayGroupUpdate",
                            "Playstate",
                            "RestartRequired",
                            "ServerShuttingDown",
                            "ServerRestarting",
                            "LibraryChanged",
                            "UserDeleted",
                            "UserUpdated",
                            "SeriesTimerCreated",
                            "TimerCreated",
                            "SeriesTimerCancelled",
                            "TimerCancelled",
                            "RefreshProgress",
                            "ScheduledTaskEnded",
                            "PackageInstallationCancelled",
                            "PackageInstallationFailed",
                            "PackageInstallationCompleted",
                            "PackageInstalling",
                            "PackageUninstalled",
                            "ActivityLogEntry",
                            "ScheduledTasksInfo",
                            "ActivityLogEntryStart",
                            "ActivityLogEntryStop",
                            "SessionsStart",
                            "SessionsStop",
                            "ScheduledTasksInfoStart",
                            "ScheduledTasksInfoStop",
                            "KeepAlive"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SessionMessageType"
                            }
                        ],
                        "description": "The different kinds of messages that are used in the WebSocket api.",
                        "default": "UserUpdated",
                        "readOnly": true
                    }
                },
                "additionalProperties": false,
                "description": "User updated message."
            },
            "UtcTimeResponse": {
                "type": "object",
                "properties": {
                    "RequestReceptionTime": {
                        "type": "string",
                        "description": "Gets the UTC time when request has been received.",
                        "format": "date-time"
                    },
                    "ResponseTransmissionTime": {
                        "type": "string",
                        "description": "Gets the UTC time when response has been sent.",
                        "format": "date-time"
                    }
                },
                "additionalProperties": false,
                "description": "Class UtcTimeResponse."
            },
            "ValidatePathDto": {
                "type": "object",
                "properties": {
                    "ValidateWritable": {
                        "type": "boolean",
                        "description": "Gets or sets a value indicating whether validate if path is writable."
                    },
                    "Path": {
                        "type": "string",
                        "description": "Gets or sets the path.",
                        "nullable": true
                    },
                    "IsFile": {
                        "type": "boolean",
                        "description": "Gets or sets is path file.",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Validate path object."
            },
            "VersionInfo": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "string",
                        "description": "Gets or sets the version."
                    },
                    "VersionNumber": {
                        "type": "string",
                        "description": "Gets the version as a System.Version.",
                        "readOnly": true
                    },
                    "changelog": {
                        "type": "string",
                        "description": "Gets or sets the changelog for this version.",
                        "nullable": true
                    },
                    "targetAbi": {
                        "type": "string",
                        "description": "Gets or sets the ABI that this version was built against.",
                        "nullable": true
                    },
                    "sourceUrl": {
                        "type": "string",
                        "description": "Gets or sets the source URL.",
                        "nullable": true
                    },
                    "checksum": {
                        "type": "string",
                        "description": "Gets or sets a checksum for the binary.",
                        "nullable": true
                    },
                    "timestamp": {
                        "type": "string",
                        "description": "Gets or sets a timestamp of when the binary was built.",
                        "nullable": true
                    },
                    "repositoryName": {
                        "type": "string",
                        "description": "Gets or sets the repository name."
                    },
                    "repositoryUrl": {
                        "type": "string",
                        "description": "Gets or sets the repository url."
                    }
                },
                "additionalProperties": false,
                "description": "Defines the MediaBrowser.Model.Updates.VersionInfo class."
            },
            "Video3DFormat": {
                "enum": [
                    "HalfSideBySide",
                    "FullSideBySide",
                    "FullTopAndBottom",
                    "HalfTopAndBottom",
                    "MVC"
                ],
                "type": "string"
            },
            "VideoRange": {
                "enum": [
                    "Unknown",
                    "SDR",
                    "HDR"
                ],
                "type": "string",
                "description": "An enum representing video ranges."
            },
            "VideoRangeType": {
                "enum": [
                    "Unknown",
                    "SDR",
                    "HDR10",
                    "HLG",
                    "DOVI",
                    "DOVIWithHDR10",
                    "DOVIWithHLG",
                    "DOVIWithSDR",
                    "HDR10Plus"
                ],
                "type": "string",
                "description": "An enum representing types of video ranges."
            },
            "VideoType": {
                "enum": [
                    "VideoFile",
                    "Iso",
                    "Dvd",
                    "BluRay"
                ],
                "type": "string",
                "description": "Enum VideoType."
            },
            "VirtualFolderInfo": {
                "type": "object",
                "properties": {
                    "Name": {
                        "type": "string",
                        "description": "Gets or sets the name.",
                        "nullable": true
                    },
                    "Locations": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Gets or sets the locations.",
                        "nullable": true
                    },
                    "CollectionType": {
                        "enum": [
                            "movies",
                            "tvshows",
                            "music",
                            "musicvideos",
                            "homevideos",
                            "boxsets",
                            "books",
                            "mixed"
                        ],
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/CollectionTypeOptions"
                            }
                        ],
                        "description": "Gets or sets the type of the collection.",
                        "nullable": true
                    },
                    "LibraryOptions": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/LibraryOptions"
                            }
                        ],
                        "nullable": true
                    },
                    "ItemId": {
                        "type": "string",
                        "description": "Gets or sets the item identifier.",
                        "nullable": true
                    },
                    "PrimaryImageItemId": {
                        "type": "string",
                        "description": "Gets or sets the primary image item identifier.",
                        "nullable": true
                    },
                    "RefreshProgress": {
                        "type": "number",
                        "format": "double",
                        "nullable": true
                    },
                    "RefreshStatus": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "additionalProperties": false,
                "description": "Used to hold information about a user's list of configured virtual folders."
            },
            "WakeOnLanInfo": {
                "type": "object",
                "properties": {
                    "MacAddress": {
                        "type": "string",
                        "description": "Gets the MAC address of the device.",
                        "nullable": true
                    },
                    "Port": {
                        "type": "integer",
                        "description": "Gets or sets the wake-on-LAN port.",
                        "format": "int32"
                    }
                },
                "additionalProperties": false,
                "description": "Provides the MAC address and port for wake-on-LAN functionality."
            },
            "WebSocketMessage": {
                "type": "object",
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/InboundWebSocketMessage"
                    },
                    {
                        "$ref": "#/components/schemas/OutboundWebSocketMessage"
                    }
                ],
                "description": "Represents the possible websocket types"
            },
            "XbmcMetadataOptions": {
                "type": "object",
                "properties": {
                    "UserId": {
                        "type": "string",
                        "nullable": true
                    },
                    "ReleaseDateFormat": {
                        "type": "string"
                    },
                    "SaveImagePathsInNfo": {
                        "type": "boolean"
                    },
                    "EnablePathSubstitution": {
                        "type": "boolean"
                    },
                    "EnableExtraThumbsDuplication": {
                        "type": "boolean"
                    }
                },
                "additionalProperties": false
            }
        },
        "securitySchemes": {
            "CustomAuthentication": {
                "type": "apiKey",
                "description": "API key header parameter",
                "name": "Authorization",
                "in": "header"
            }
        }
    }
}

