openapi: 3.0.1
servers:
  - url: http://jellyfin.local
  - url: http://localhost
x-hasEquivalentPaths: true
info:
  title: Jellyfin API
  version: v1
  x-apisguru-categories:
    - media
  x-jellyfin-version: 10.7.0.0
  x-origin:
    - format: openapi
      url: https://repo.jellyfin.org/releases/openapi/stable/jellyfin-openapi-10.7.0-rc2.json
      version: "3.0"
  x-providerName: jellyfin.local
paths:
  "/Albums/{id}/InstantMix":
    get:
      operationId: GetInstantMixFromAlbum
      parameters:
        - description: The item id.
          in: path
          name: id
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Instant playlist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates an instant playlist based on a given song.
      tags:
        - InstantMix
  "/Albums/{itemId}/Similar":
    get:
      operationId: GetSimilarAlbums
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Exclude artist ids.
          in: query
          name: excludeArtistIds
          schema:
            description: Exclude artist ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Similar items returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets similar items.
      tags:
        - Library
  /Artists:
    get:
      operationId: GetArtists
      parameters:
        - description: Optional filter by minimum community rating.
          in: query
          name: minCommunityRating
          schema:
            description: Optional filter by minimum community rating.
            format: double
            nullable: true
            type: number
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Search term.
          in: query
          name: searchTerm
          schema:
            description: Optional. Search term.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. Specify additional filters to apply.
          in: query
          name: filters
          schema:
            description: Optional. Specify additional filters to apply.
            items:
              $ref: "#/components/schemas/ItemFilter"
            nullable: true
            type: array
        - description: Optional filter by items that are marked as favorite, or not.
          in: query
          name: isFavorite
          schema:
            description: Optional filter by items that are marked as favorite, or not.
            nullable: true
            type: boolean
        - description: Optional filter by MediaType. Allows multiple, comma delimited.
          in: query
          name: mediaTypes
          schema:
            description: Optional filter by MediaType. Allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.
          in: query
          name: genres
          schema:
            description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.
          in: query
          name: genreIds
          schema:
            description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.
          in: query
          name: officialRatings
          schema:
            description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.
          in: query
          name: tags
          schema:
            description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.
          in: query
          name: years
          schema:
            description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.
            items:
              format: int32
              type: integer
            nullable: true
            type: array
        - description: Optional, include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional, include user data.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified person.
          in: query
          name: person
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person.
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered to include only those containing the specified person ids.
          in: query
          name: personIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - 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.
          in: query
          name: personTypes
          schema:
            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.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.
          in: query
          name: studios
          schema:
            description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.
          in: query
          name: studioIds
          schema:
            description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: User id.
          in: query
          name: userId
          schema:
            description: User id.
            format: uuid
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally or greater than a given input string.
          in: query
          name: nameStartsWithOrGreater
          schema:
            description: Optional filter by items whose name is sorted equally or greater than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally than a given input string.
          in: query
          name: nameStartsWith
          schema:
            description: Optional filter by items whose name is sorted equally than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is equally or lesser than a given input string.
          in: query
          name: nameLessThan
          schema:
            description: Optional filter by items whose name is equally or lesser than a given input string.
            nullable: true
            type: string
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional, include image information in output.
            nullable: true
            type: boolean
        - description: Total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Artists returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all artists from a given item, folder, or the entire library.
      tags:
        - Artists
  /Artists/AlbumArtists:
    get:
      operationId: GetAlbumArtists
      parameters:
        - description: Optional filter by minimum community rating.
          in: query
          name: minCommunityRating
          schema:
            description: Optional filter by minimum community rating.
            format: double
            nullable: true
            type: number
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Search term.
          in: query
          name: searchTerm
          schema:
            description: Optional. Search term.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. Specify additional filters to apply.
          in: query
          name: filters
          schema:
            description: Optional. Specify additional filters to apply.
            items:
              $ref: "#/components/schemas/ItemFilter"
            nullable: true
            type: array
        - description: Optional filter by items that are marked as favorite, or not.
          in: query
          name: isFavorite
          schema:
            description: Optional filter by items that are marked as favorite, or not.
            nullable: true
            type: boolean
        - description: Optional filter by MediaType. Allows multiple, comma delimited.
          in: query
          name: mediaTypes
          schema:
            description: Optional filter by MediaType. Allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.
          in: query
          name: genres
          schema:
            description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.
          in: query
          name: genreIds
          schema:
            description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.
          in: query
          name: officialRatings
          schema:
            description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.
          in: query
          name: tags
          schema:
            description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.
          in: query
          name: years
          schema:
            description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.
            items:
              format: int32
              type: integer
            nullable: true
            type: array
        - description: Optional, include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional, include user data.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified person.
          in: query
          name: person
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person.
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered to include only those containing the specified person ids.
          in: query
          name: personIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - 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.
          in: query
          name: personTypes
          schema:
            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.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.
          in: query
          name: studios
          schema:
            description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.
          in: query
          name: studioIds
          schema:
            description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: User id.
          in: query
          name: userId
          schema:
            description: User id.
            format: uuid
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally or greater than a given input string.
          in: query
          name: nameStartsWithOrGreater
          schema:
            description: Optional filter by items whose name is sorted equally or greater than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally than a given input string.
          in: query
          name: nameStartsWith
          schema:
            description: Optional filter by items whose name is sorted equally than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is equally or lesser than a given input string.
          in: query
          name: nameLessThan
          schema:
            description: Optional filter by items whose name is equally or lesser than a given input string.
            nullable: true
            type: string
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional, include image information in output.
            nullable: true
            type: boolean
        - description: Total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Album artists returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all album artists from a given item, folder, or the entire library.
      tags:
        - Artists
  "/Artists/{id}/InstantMix":
    get:
      operationId: GetInstantMixFromArtists
      parameters:
        - description: The item id.
          in: path
          name: id
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Instant playlist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates an instant playlist based on a given song.
      tags:
        - InstantMix
  "/Artists/{itemId}/Similar":
    get:
      operationId: GetSimilarArtists
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Exclude artist ids.
          in: query
          name: excludeArtistIds
          schema:
            description: Exclude artist ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Similar items returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets similar items.
      tags:
        - Library
  "/Artists/{name}":
    get:
      operationId: GetArtistByName
      parameters:
        - description: Studio name.
          in: path
          name: name
          required: true
          schema:
            description: Studio name.
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Artist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets an artist by name.
      tags:
        - Artists
  "/Artists/{name}/Images/{imageType}/{imageIndex}":
    get:
      operationId: GetArtistImage
      parameters:
        - description: Artist name.
          in: path
          name: name
          required: true
          schema:
            description: Artist name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get artist image by name.
      tags:
        - Image
    head:
      operationId: HeadArtistImage
      parameters:
        - description: Artist name.
          in: path
          name: name
          required: true
          schema:
            description: Artist name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get artist image by name.
      tags:
        - Image
  "/Audio/{itemId}/hls/{segmentId}/stream.aac":
    get:
      operationId: GetHlsAudioSegmentLegacyAac
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            type: string
        - description: The segment id.
          in: path
          name: segmentId
          required: true
          schema:
            description: The segment id.
            type: string
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
          description: Hls audio segment returned.
      summary: Gets the specified audio segment for an audio item.
      tags:
        - HlsSegment
  "/Audio/{itemId}/hls/{segmentId}/stream.mp3":
    get:
      operationId: GetHlsAudioSegmentLegacyMp3
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            type: string
        - description: The segment id.
          in: path
          name: segmentId
          required: true
          schema:
            description: The segment id.
            type: string
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
          description: Hls audio segment returned.
      summary: Gets the specified audio segment for an audio item.
      tags:
        - HlsSegment
  "/Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container}":
    get:
      operationId: GetHlsAudioSegment
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The playlist id.
          in: path
          name: playlistId
          required: true
          schema:
            description: The playlist id.
            type: string
        - description: The segment id.
          in: path
          name: segmentId
          required: true
          schema:
            description: The segment id.
            format: int32
            type: integer
        - 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."
          in: path
          name: container
          required: true
          schema:
            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."
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum streaming bitrate.
          in: query
          name: maxStreamingBitrate
          schema:
            description: Optional. The maximum streaming bitrate.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
          description: Video stream returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a video stream using HTTP live streaming.
      tags:
        - DynamicHls
  "/Audio/{itemId}/main.m3u8":
    get:
      operationId: GetVariantHlsAudioPlaylist
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum streaming bitrate.
          in: query
          name: maxStreamingBitrate
          schema:
            description: Optional. The maximum streaming bitrate.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            application/x-mpegURL:
              schema:
                format: binary
                type: string
          description: Audio stream returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets an audio stream using HTTP live streaming.
      tags:
        - DynamicHls
  "/Audio/{itemId}/master.m3u8":
    get:
      operationId: GetMasterHlsAudioPlaylist
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          required: true
          schema:
            description: The media version id, if playing an alternate version.
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum streaming bitrate.
          in: query
          name: maxStreamingBitrate
          schema:
            description: Optional. The maximum streaming bitrate.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
        - description: Enable adaptive bitrate streaming.
          in: query
          name: enableAdaptiveBitrateStreaming
          schema:
            default: true
            description: Enable adaptive bitrate streaming.
            type: boolean
      responses:
        "200":
          content:
            application/x-mpegURL:
              schema:
                format: binary
                type: string
          description: Audio stream returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets an audio hls playlist stream.
      tags:
        - DynamicHls
    head:
      operationId: HeadMasterHlsAudioPlaylist
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          required: true
          schema:
            description: The media version id, if playing an alternate version.
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum streaming bitrate.
          in: query
          name: maxStreamingBitrate
          schema:
            description: Optional. The maximum streaming bitrate.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
        - description: Enable adaptive bitrate streaming.
          in: query
          name: enableAdaptiveBitrateStreaming
          schema:
            default: true
            description: Enable adaptive bitrate streaming.
            type: boolean
      responses:
        "200":
          content:
            application/x-mpegURL:
              schema:
                format: binary
                type: string
          description: Audio stream returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets an audio hls playlist stream.
      tags:
        - DynamicHls
  "/Audio/{itemId}/stream":
    get:
      operationId: GetAudioStream
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The audio container.
          in: query
          name: container
          schema:
            description: The audio container.
            nullable: true
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
          description: Audio stream returned.
      summary: Gets an audio stream.
      tags:
        - Audio
    head:
      operationId: HeadAudioStream
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The audio container.
          in: query
          name: container
          schema:
            description: The audio container.
            nullable: true
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
          description: Audio stream returned.
      summary: Gets an audio stream.
      tags:
        - Audio
  "/Audio/{itemId}/stream.{container}":
    get:
      operationId: GetAudioStreamByContainer
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The audio container.
          in: path
          name: container
          required: true
          schema:
            description: The audio container.
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment lenght.
          in: query
          name: segmentLength
          schema:
            description: The segment lenght.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamporphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamporphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
          description: Audio stream returned.
      summary: Gets an audio stream.
      tags:
        - Audio
    head:
      operationId: HeadAudioStreamByContainer
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The audio container.
          in: path
          name: container
          required: true
          schema:
            description: The audio container.
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment lenght.
          in: query
          name: segmentLength
          schema:
            description: The segment lenght.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamporphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamporphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
          description: Audio stream returned.
      summary: Gets an audio stream.
      tags:
        - Audio
  "/Audio/{itemId}/universal":
    get:
      operationId: GetUniversalAudioStream
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. The audio container.
          in: query
          name: container
          schema:
            description: Optional. The audio container.
            items:
              type: string
            nullable: true
            type: array
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: Optional. The user id.
          in: query
          name: userId
          schema:
            description: Optional. The user id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The audio codec to transcode to.
          in: query
          name: audioCodec
          schema:
            description: Optional. The audio codec to transcode to.
            nullable: true
            type: string
        - description: Optional. The maximum number of audio channels.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The number of how many audio channels to transcode to.
          in: query
          name: transcodingAudioChannels
          schema:
            description: Optional. The number of how many audio channels to transcode to.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum streaming bitrate.
          in: query
          name: maxStreamingBitrate
          schema:
            description: Optional. The maximum streaming bitrate.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The container to transcode to.
          in: query
          name: transcodingContainer
          schema:
            description: Optional. The container to transcode to.
            nullable: true
            type: string
        - description: Optional. The transcoding protocol.
          in: query
          name: transcodingProtocol
          schema:
            description: Optional. The transcoding protocol.
            nullable: true
            type: string
        - description: Optional. The maximum audio sample rate.
          in: query
          name: maxAudioSampleRate
          schema:
            description: Optional. The maximum audio sample rate.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to enable remote media.
          in: query
          name: enableRemoteMedia
          schema:
            description: Optional. Whether to enable remote media.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            type: boolean
        - description: Whether to enable redirection. Defaults to true.
          in: query
          name: enableRedirection
          schema:
            default: true
            description: Whether to enable redirection. Defaults to true.
            type: boolean
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
          description: Audio stream returned.
        "302":
          description: Redirected to remote audio stream.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets an audio stream.
      tags:
        - UniversalAudio
    head:
      operationId: HeadUniversalAudioStream
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. The audio container.
          in: query
          name: container
          schema:
            description: Optional. The audio container.
            items:
              type: string
            nullable: true
            type: array
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: Optional. The user id.
          in: query
          name: userId
          schema:
            description: Optional. The user id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The audio codec to transcode to.
          in: query
          name: audioCodec
          schema:
            description: Optional. The audio codec to transcode to.
            nullable: true
            type: string
        - description: Optional. The maximum number of audio channels.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The number of how many audio channels to transcode to.
          in: query
          name: transcodingAudioChannels
          schema:
            description: Optional. The number of how many audio channels to transcode to.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum streaming bitrate.
          in: query
          name: maxStreamingBitrate
          schema:
            description: Optional. The maximum streaming bitrate.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The container to transcode to.
          in: query
          name: transcodingContainer
          schema:
            description: Optional. The container to transcode to.
            nullable: true
            type: string
        - description: Optional. The transcoding protocol.
          in: query
          name: transcodingProtocol
          schema:
            description: Optional. The transcoding protocol.
            nullable: true
            type: string
        - description: Optional. The maximum audio sample rate.
          in: query
          name: maxAudioSampleRate
          schema:
            description: Optional. The maximum audio sample rate.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to enable remote media.
          in: query
          name: enableRemoteMedia
          schema:
            description: Optional. Whether to enable remote media.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            type: boolean
        - description: Whether to enable redirection. Defaults to true.
          in: query
          name: enableRedirection
          schema:
            default: true
            description: Whether to enable redirection. Defaults to true.
            type: boolean
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
          description: Audio stream returned.
        "302":
          description: Redirected to remote audio stream.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets an audio stream.
      tags:
        - UniversalAudio
  /Auth/Keys:
    get:
      operationId: GetKeys
      responses:
        "200":
          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"
          description: Api keys retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get all keys.
      tags:
        - ApiKey
    post:
      operationId: CreateKey
      parameters:
        - description: Name of the app using the authentication key.
          in: query
          name: app
          required: true
          schema:
            description: Name of the app using the authentication key.
            type: string
      responses:
        "204":
          description: Api key created.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Create a new api key.
      tags:
        - ApiKey
  "/Auth/Keys/{key}":
    delete:
      operationId: RevokeKey
      parameters:
        - description: The access token to delete.
          in: path
          name: key
          required: true
          schema:
            description: The access token to delete.
            type: string
      responses:
        "204":
          description: Api key deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Remove an api key.
      tags:
        - ApiKey
  /Auth/PasswordResetProviders:
    get:
      operationId: GetPasswordResetProviders
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
          description: Password reset providers retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get all password reset providers.
      tags:
        - Session
  /Auth/Providers:
    get:
      operationId: GetAuthProviders
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
          description: Auth providers retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get all auth providers.
      tags:
        - Session
  /Branding/Configuration:
    get:
      operationId: GetBrandingOptions
      responses:
        "200":
          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"
          description: Branding configuration returned.
      summary: Gets branding configuration.
      tags:
        - Branding
  /Branding/Css:
    get:
      operationId: GetBrandingCss
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
            application/json; profile="CamelCase":
              schema:
                type: string
            application/json; profile="PascalCase":
              schema:
                type: string
            text/css:
              schema:
                type: string
          description: Branding css returned.
        "204":
          description: No branding css configured.
      summary: Gets branding css.
      tags:
        - Branding
  /Branding/Css.css:
    get:
      operationId: GetBrandingCss_2
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
            application/json; profile="CamelCase":
              schema:
                type: string
            application/json; profile="PascalCase":
              schema:
                type: string
            text/css:
              schema:
                type: string
          description: Branding css returned.
        "204":
          description: No branding css configured.
      summary: Gets branding css.
      tags:
        - Branding
  /Channels:
    get:
      operationId: GetChannels
      parameters:
        - description: User Id to filter by. Use System.Guid.Empty to not filter by user.
          in: query
          name: userId
          schema:
            description: User Id to filter by. Use System.Guid.Empty to not filter by user.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by channels that support getting latest items.
          in: query
          name: supportsLatestItems
          schema:
            description: Optional. Filter by channels that support getting latest items.
            nullable: true
            type: boolean
        - description: Optional. Filter by channels that support media deletion.
          in: query
          name: supportsMediaDeletion
          schema:
            description: Optional. Filter by channels that support media deletion.
            nullable: true
            type: boolean
        - description: Optional. Filter by channels that are favorite.
          in: query
          name: isFavorite
          schema:
            description: Optional. Filter by channels that are favorite.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Channels returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets available channels.
      tags:
        - Channels
  /Channels/Features:
    get:
      operationId: GetAllChannelFeatures
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ChannelFeatures"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/ChannelFeatures"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/ChannelFeatures"
                type: array
          description: All channel features returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get all channel features.
      tags:
        - Channels
  /Channels/Items/Latest:
    get:
      operationId: GetLatestChannelItems
      parameters:
        - description: Optional. User Id.
          in: query
          name: userId
          schema:
            description: Optional. User Id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional filters to apply.
          in: query
          name: filters
          schema:
            description: Optional. Specify additional filters to apply.
            items:
              $ref: "#/components/schemas/ItemFilter"
            nullable: true
            type: array
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Specify one or more channel id's, comma delimited.
          in: query
          name: channelIds
          schema:
            description: Optional. Specify one or more channel id's, comma delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Latest channel items returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets latest channel items.
      tags:
        - Channels
  "/Channels/{channelId}/Features":
    get:
      operationId: GetChannelFeatures
      parameters:
        - description: Channel id.
          in: path
          name: channelId
          required: true
          schema:
            description: Channel id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Channel features returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get channel features.
      tags:
        - Channels
  "/Channels/{channelId}/Items":
    get:
      operationId: GetChannelItems
      parameters:
        - description: Channel Id.
          in: path
          name: channelId
          required: true
          schema:
            description: Channel Id.
            format: uuid
            type: string
        - description: Optional. Folder Id.
          in: query
          name: folderId
          schema:
            description: Optional. Folder Id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. User Id.
          in: query
          name: userId
          schema:
            description: Optional. User Id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Sort Order - Ascending,Descending.
          in: query
          name: sortOrder
          schema:
            description: Optional. Sort Order - Ascending,Descending.
            nullable: true
            type: string
        - description: Optional. Specify additional filters to apply.
          in: query
          name: filters
          schema:
            description: Optional. Specify additional filters to apply.
            items:
              $ref: "#/components/schemas/ItemFilter"
            nullable: true
            type: array
        - 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."
          in: query
          name: sortBy
          schema:
            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."
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Channel items returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get channel items.
      tags:
        - Channels
  /Collections:
    post:
      operationId: CreateCollection
      parameters:
        - description: The name of the collection.
          in: query
          name: name
          schema:
            description: The name of the collection.
            nullable: true
            type: string
        - description: Item Ids to add to the collection.
          in: query
          name: ids
          schema:
            description: Item Ids to add to the collection.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. Create the collection within a specific folder.
          in: query
          name: parentId
          schema:
            description: Optional. Create the collection within a specific folder.
            format: uuid
            nullable: true
            type: string
        - description: Whether or not to lock the new collection.
          in: query
          name: isLocked
          schema:
            default: false
            description: Whether or not to lock the new collection.
            type: boolean
      responses:
        "200":
          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"
          description: Collection created.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates a new collection.
      tags:
        - Collection
  "/Collections/{collectionId}/Items":
    delete:
      operationId: RemoveFromCollection
      parameters:
        - description: The collection id.
          in: path
          name: collectionId
          required: true
          schema:
            description: The collection id.
            format: uuid
            type: string
        - description: Item ids, comma delimited.
          in: query
          name: ids
          required: true
          schema:
            description: Item ids, comma delimited.
            items:
              format: uuid
              type: string
            type: array
      responses:
        "204":
          description: Items removed from collection.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Removes items from a collection.
      tags:
        - Collection
    post:
      operationId: AddToCollection
      parameters:
        - description: The collection id.
          in: path
          name: collectionId
          required: true
          schema:
            description: The collection id.
            format: uuid
            type: string
        - description: Item ids, comma delimited.
          in: query
          name: ids
          required: true
          schema:
            description: Item ids, comma delimited.
            items:
              format: uuid
              type: string
            type: array
      responses:
        "204":
          description: Items added to collection.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Adds items to a collection.
      tags:
        - Collection
  /Devices:
    delete:
      operationId: DeleteDevice
      parameters:
        - description: Device Id.
          in: query
          name: id
          required: true
          schema:
            description: Device Id.
            type: string
      responses:
        "204":
          description: Device deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Device not found.
      security:
        - CustomAuthentication: []
      summary: Deletes a device.
      tags:
        - Devices
    get:
      operationId: GetDevices
      parameters:
        - description: Gets or sets a value indicating whether [supports synchronize].
          in: query
          name: supportsSync
          schema:
            description: Gets or sets a value indicating whether [supports synchronize].
            nullable: true
            type: boolean
        - description: Gets or sets the user identifier.
          in: query
          name: userId
          schema:
            description: Gets or sets the user identifier.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceInfoQueryResult"
            application/json; profile="CamelCase":
              schema:
                $ref: "#/components/schemas/DeviceInfoQueryResult"
            application/json; profile="PascalCase":
              schema:
                $ref: "#/components/schemas/DeviceInfoQueryResult"
          description: Devices retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get Devices.
      tags:
        - Devices
  /Devices/Info:
    get:
      operationId: GetDeviceInfo
      parameters:
        - description: Device Id.
          in: query
          name: id
          required: true
          schema:
            description: Device Id.
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceInfo"
            application/json; profile="CamelCase":
              schema:
                $ref: "#/components/schemas/DeviceInfo"
            application/json; profile="PascalCase":
              schema:
                $ref: "#/components/schemas/DeviceInfo"
          description: Device info retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Device not found.
      security:
        - CustomAuthentication: []
      summary: Get info for a device.
      tags:
        - Devices
  /Devices/Options:
    get:
      operationId: GetDeviceOptions
      parameters:
        - description: Device Id.
          in: query
          name: id
          required: true
          schema:
            description: Device Id.
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceOptions"
            application/json; profile="CamelCase":
              schema:
                $ref: "#/components/schemas/DeviceOptions"
            application/json; profile="PascalCase":
              schema:
                $ref: "#/components/schemas/DeviceOptions"
          description: Device options retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Device not found.
      security:
        - CustomAuthentication: []
      summary: Get options for a device.
      tags:
        - Devices
    post:
      operationId: UpdateDeviceOptions
      parameters:
        - description: Device Id.
          in: query
          name: id
          required: true
          schema:
            description: Device Id.
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/DeviceOptions"
          application/json:
            schema:
              $ref: "#/components/schemas/DeviceOptions"
          text/json:
            schema:
              $ref: "#/components/schemas/DeviceOptions"
        description: Device Options.
        required: true
      responses:
        "204":
          description: Device options updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Device not found.
      security:
        - CustomAuthentication: []
      summary: Update device options.
      tags:
        - Devices
  "/DisplayPreferences/{displayPreferencesId}":
    get:
      operationId: GetDisplayPreferences
      parameters:
        - description: Display preferences id.
          in: path
          name: displayPreferencesId
          required: true
          schema:
            description: Display preferences id.
            type: string
        - description: User id.
          in: query
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Client.
          in: query
          name: client
          required: true
          schema:
            description: Client.
            type: string
      responses:
        "200":
          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"
          description: Display preferences retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get Display Preferences.
      tags:
        - DisplayPreferences
    post:
      operationId: UpdateDisplayPreferences
      parameters:
        - description: Display preferences id.
          in: path
          name: displayPreferencesId
          required: true
          schema:
            description: Display preferences id.
            type: string
        - description: User Id.
          in: query
          name: userId
          required: true
          schema:
            description: User Id.
            format: uuid
            type: string
        - description: Client.
          in: query
          name: client
          required: true
          schema:
            description: Client.
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/DisplayPreferencesDto"
          application/json:
            schema:
              $ref: "#/components/schemas/DisplayPreferencesDto"
          text/json:
            schema:
              $ref: "#/components/schemas/DisplayPreferencesDto"
        description: New Display Preferences object.
        required: true
      responses:
        "204":
          description: Display preferences updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Update Display Preferences.
      tags:
        - DisplayPreferences
  /Dlna/ProfileInfos:
    get:
      operationId: GetProfileInfos
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/DeviceProfileInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/DeviceProfileInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/DeviceProfileInfo"
                type: array
          description: Device profile infos returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get profile infos.
      tags:
        - Dlna
  /Dlna/Profiles:
    post:
      operationId: CreateProfile
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/DeviceProfile"
          application/json:
            schema:
              $ref: "#/components/schemas/DeviceProfile"
          text/json:
            schema:
              $ref: "#/components/schemas/DeviceProfile"
        description: Device profile.
      responses:
        "204":
          description: Device profile created.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates a profile.
      tags:
        - Dlna
  /Dlna/Profiles/Default:
    get:
      operationId: GetDefaultProfile
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceProfile"
            application/json; profile="CamelCase":
              schema:
                $ref: "#/components/schemas/DeviceProfile"
            application/json; profile="PascalCase":
              schema:
                $ref: "#/components/schemas/DeviceProfile"
          description: Default device profile returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the default profile.
      tags:
        - Dlna
  "/Dlna/Profiles/{profileId}":
    delete:
      operationId: DeleteProfile
      parameters:
        - description: Profile id.
          in: path
          name: profileId
          required: true
          schema:
            description: Profile id.
            type: string
      responses:
        "204":
          description: Device profile deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Device profile not found.
      security:
        - CustomAuthentication: []
      summary: Deletes a profile.
      tags:
        - Dlna
    get:
      operationId: GetProfile
      parameters:
        - description: Profile Id.
          in: path
          name: profileId
          required: true
          schema:
            description: Profile Id.
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceProfile"
            application/json; profile="CamelCase":
              schema:
                $ref: "#/components/schemas/DeviceProfile"
            application/json; profile="PascalCase":
              schema:
                $ref: "#/components/schemas/DeviceProfile"
          description: Device profile returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Device profile not found.
      security:
        - CustomAuthentication: []
      summary: Gets a single profile.
      tags:
        - Dlna
    post:
      operationId: UpdateProfile
      parameters:
        - description: Profile id.
          in: path
          name: profileId
          required: true
          schema:
            description: Profile id.
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/DeviceProfile"
          application/json:
            schema:
              $ref: "#/components/schemas/DeviceProfile"
          text/json:
            schema:
              $ref: "#/components/schemas/DeviceProfile"
        description: Device profile.
      responses:
        "204":
          description: Device profile updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Device profile not found.
      security:
        - CustomAuthentication: []
      summary: Updates a profile.
      tags:
        - Dlna
  "/Dlna/icons/{fileName}":
    get:
      operationId: GetIcon
      parameters:
        - description: The icon filename.
          in: path
          name: fileName
          required: true
          schema:
            description: The icon filename.
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Request processed.
        "404":
          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"
          description: Not Found.
        "503":
          description: DLNA is disabled.
      summary: Gets a server icon.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/ConnectionManager":
    get:
      operationId: GetConnectionManager
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Dlna media receiver registrar xml returned.
        "503":
          description: DLNA is disabled.
      summary: Gets Dlna media receiver registrar xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/ConnectionManager/ConnectionManager":
    get:
      operationId: GetConnectionManager_2
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Dlna media receiver registrar xml returned.
        "503":
          description: DLNA is disabled.
      summary: Gets Dlna media receiver registrar xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/ConnectionManager/ConnectionManager.xml":
    get:
      operationId: GetConnectionManager_3
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Dlna media receiver registrar xml returned.
        "503":
          description: DLNA is disabled.
      summary: Gets Dlna media receiver registrar xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/ConnectionManager/Control":
    post:
      operationId: ProcessConnectionManagerControlRequest
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Request processed.
        "503":
          description: DLNA is disabled.
      summary: Process a connection manager control request.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/ContentDirectory":
    get:
      operationId: GetContentDirectory
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Dlna content directory returned.
        "503":
          description: DLNA is disabled.
      summary: Gets Dlna content directory xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/ContentDirectory/ContentDirectory":
    get:
      operationId: GetContentDirectory_2
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Dlna content directory returned.
        "503":
          description: DLNA is disabled.
      summary: Gets Dlna content directory xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/ContentDirectory/ContentDirectory.xml":
    get:
      operationId: GetContentDirectory_3
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Dlna content directory returned.
        "503":
          description: DLNA is disabled.
      summary: Gets Dlna content directory xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/ContentDirectory/Control":
    post:
      operationId: ProcessContentDirectoryControlRequest
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Request processed.
        "503":
          description: DLNA is disabled.
      summary: Process a content directory control request.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/MediaReceiverRegistrar":
    get:
      operationId: GetMediaReceiverRegistrar
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Dlna media receiver registrar xml returned.
        "503":
          description: DLNA is disabled.
      summary: Gets Dlna media receiver registrar xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/MediaReceiverRegistrar/Control":
    post:
      operationId: ProcessMediaReceiverRegistrarControlRequest
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Request processed.
        "503":
          description: DLNA is disabled.
      summary: Process a media receiver registrar control request.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar":
    get:
      operationId: GetMediaReceiverRegistrar_2
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Dlna media receiver registrar xml returned.
        "503":
          description: DLNA is disabled.
      summary: Gets Dlna media receiver registrar xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar.xml":
    get:
      operationId: GetMediaReceiverRegistrar_3
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Dlna media receiver registrar xml returned.
        "503":
          description: DLNA is disabled.
      summary: Gets Dlna media receiver registrar xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/description":
    get:
      operationId: GetDescriptionXml
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Description xml returned.
        "503":
          description: DLNA is disabled.
      summary: Get Description Xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/description.xml":
    get:
      operationId: GetDescriptionXml_2
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
      responses:
        "200":
          content:
            text/xml:
              schema:
                format: binary
                type: string
          description: Description xml returned.
        "503":
          description: DLNA is disabled.
      summary: Get Description Xml.
      tags:
        - DlnaServer
  "/Dlna/{serverId}/icons/{fileName}":
    get:
      operationId: GetIconId
      parameters:
        - description: Server UUID.
          in: path
          name: serverId
          required: true
          schema:
            description: Server UUID.
            type: string
        - description: The icon filename.
          in: path
          name: fileName
          required: true
          schema:
            description: The icon filename.
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Request processed.
        "404":
          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"
          description: Not Found.
        "503":
          description: DLNA is disabled.
      summary: Gets a server icon.
      tags:
        - DlnaServer
  /Environment/DefaultDirectoryBrowser:
    get:
      operationId: GetDefaultDirectoryBrowser
      responses:
        "200":
          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"
          description: Default directory browser returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get Default directory browser.
      tags:
        - Environment
  /Environment/DirectoryContents:
    get:
      operationId: GetDirectoryContents
      parameters:
        - description: The path.
          in: query
          name: path
          required: true
          schema:
            description: The path.
            type: string
        - description: An optional filter to include or exclude files from the results. true/false.
          in: query
          name: includeFiles
          schema:
            default: false
            description: An optional filter to include or exclude files from the results. true/false.
            type: boolean
        - description: An optional filter to include or exclude folders from the results. true/false.
          in: query
          name: includeDirectories
          schema:
            default: false
            description: An optional filter to include or exclude folders from the results. true/false.
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/FileSystemEntryInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/FileSystemEntryInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/FileSystemEntryInfo"
                type: array
          description: Directory contents returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the contents of a given directory in the file system.
      tags:
        - Environment
  /Environment/Drives:
    get:
      operationId: GetDrives
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/FileSystemEntryInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/FileSystemEntryInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/FileSystemEntryInfo"
                type: array
          description: List of entries returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets available drives from the server's file system.
      tags:
        - Environment
  /Environment/NetworkShares:
    get:
      deprecated: true
      operationId: GetNetworkShares
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/FileSystemEntryInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/FileSystemEntryInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/FileSystemEntryInfo"
                type: array
          description: Empty array returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets network paths.
      tags:
        - Environment
  /Environment/ParentPath:
    get:
      operationId: GetParentPath
      parameters:
        - description: The path.
          in: query
          name: path
          required: true
          schema:
            description: The path.
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
            application/json; profile="CamelCase":
              schema:
                type: string
            application/json; profile="PascalCase":
              schema:
                type: string
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the parent path of a given path.
      tags:
        - Environment
  /Environment/ValidatePath:
    post:
      operationId: ValidatePath
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ValidatePathDto"
          application/json:
            schema:
              $ref: "#/components/schemas/ValidatePathDto"
          text/json:
            schema:
              $ref: "#/components/schemas/ValidatePathDto"
        description: Validate request object.
        required: true
      responses:
        "204":
          description: Path validated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Path not found.
      security:
        - CustomAuthentication: []
      summary: Validates path.
      tags:
        - Environment
  /FallbackFont/Fonts:
    get:
      operationId: GetFallbackFontList
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/FontFile"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/FontFile"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/FontFile"
                type: array
          description: Information retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a list of available fallback font files.
      tags:
        - Subtitle
  "/FallbackFont/Fonts/{name}":
    get:
      operationId: GetFallbackFont
      parameters:
        - description: The name of the fallback font file to get.
          in: path
          name: name
          required: true
          schema:
            description: The name of the fallback font file to get.
            type: string
      responses:
        "200":
          content:
            font/*:
              schema:
                format: binary
                type: string
          description: Fallback font file retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a fallback font file.
      tags:
        - Subtitle
  /Genres:
    get:
      operationId: GetGenres
      parameters:
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: The search term.
          in: query
          name: searchTerm
          schema:
            description: The search term.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional filter by items that are marked as favorite, or not.
          in: query
          name: isFavorite
          schema:
            description: Optional filter by items that are marked as favorite, or not.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: User id.
          in: query
          name: userId
          schema:
            description: User id.
            format: uuid
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally or greater than a given input string.
          in: query
          name: nameStartsWithOrGreater
          schema:
            description: Optional filter by items whose name is sorted equally or greater than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally than a given input string.
          in: query
          name: nameStartsWith
          schema:
            description: Optional filter by items whose name is sorted equally than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is equally or lesser than a given input string.
          in: query
          name: nameLessThan
          schema:
            description: Optional filter by items whose name is equally or lesser than a given input string.
            nullable: true
            type: string
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional, include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Optional. Include total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Genres returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all genres from a given item, folder, or the entire library.
      tags:
        - Genres
  "/Genres/{genreName}":
    get:
      operationId: GetGenre
      parameters:
        - description: The genre name.
          in: path
          name: genreName
          required: true
          schema:
            description: The genre name.
            type: string
        - description: The user id.
          in: query
          name: userId
          schema:
            description: The user id.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Genres returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a genre, by name.
      tags:
        - Genres
  "/Genres/{name}/Images/{imageType}":
    get:
      operationId: GetGenreImage
      parameters:
        - description: Genre name.
          in: path
          name: name
          required: true
          schema:
            description: Genre name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get genre image by name.
      tags:
        - Image
    head:
      operationId: HeadGenreImage
      parameters:
        - description: Genre name.
          in: path
          name: name
          required: true
          schema:
            description: Genre name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get genre image by name.
      tags:
        - Image
  "/Genres/{name}/Images/{imageType}/{imageIndex}":
    get:
      operationId: GetGenreImageByIndex
      parameters:
        - description: Genre name.
          in: path
          name: name
          required: true
          schema:
            description: Genre name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get genre image by name.
      tags:
        - Image
    head:
      operationId: HeadGenreImageByIndex
      parameters:
        - description: Genre name.
          in: path
          name: name
          required: true
          schema:
            description: Genre name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get genre image by name.
      tags:
        - Image
  /GetUtcTime:
    get:
      operationId: GetUtcTime
      responses:
        "200":
          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"
          description: Time returned.
      summary: Gets the current UTC time.
      tags:
        - TimeSync
  /Images/General:
    get:
      operationId: GetGeneralImages
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ImageByNameInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageByNameInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageByNameInfo"
                type: array
          description: Retrieved list of images.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get all general images.
      tags:
        - ImageByName
  "/Images/General/{name}/{type}":
    get:
      operationId: GetGeneralImage
      parameters:
        - description: The name of the image.
          in: path
          name: name
          required: true
          schema:
            description: The name of the image.
            type: string
        - description: Image Type (primary, backdrop, logo, etc).
          in: path
          name: type
          required: true
          schema:
            description: Image Type (primary, backdrop, logo, etc).
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream retrieved.
        "404":
          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"
            application/octet-stream:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Image not found.
      summary: Get General Image.
      tags:
        - ImageByName
  /Images/MediaInfo:
    get:
      operationId: GetMediaInfoImages
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ImageByNameInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageByNameInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageByNameInfo"
                type: array
          description: Image list retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get all media info images.
      tags:
        - ImageByName
  "/Images/MediaInfo/{theme}/{name}":
    get:
      operationId: GetMediaInfoImage
      parameters:
        - description: The theme to get the image from.
          in: path
          name: theme
          required: true
          schema:
            description: The theme to get the image from.
            type: string
        - description: The name of the image.
          in: path
          name: name
          required: true
          schema:
            description: The name of the image.
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream retrieved.
        "404":
          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"
            application/octet-stream:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Image not found.
      summary: Get media info image.
      tags:
        - ImageByName
  /Images/Ratings:
    get:
      operationId: GetRatingImages
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ImageByNameInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageByNameInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageByNameInfo"
                type: array
          description: Retrieved list of images.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get all general images.
      tags:
        - ImageByName
  "/Images/Ratings/{theme}/{name}":
    get:
      operationId: GetRatingImage
      parameters:
        - description: The theme to get the image from.
          in: path
          name: theme
          required: true
          schema:
            description: The theme to get the image from.
            type: string
        - description: The name of the image.
          in: path
          name: name
          required: true
          schema:
            description: The name of the image.
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream retrieved.
        "404":
          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"
            application/octet-stream:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Image not found.
      summary: Get rating image.
      tags:
        - ImageByName
  /Images/Remote:
    get:
      operationId: GetRemoteImage
      parameters:
        - description: The image url.
          in: query
          name: imageUrl
          required: true
          schema:
            description: The image url.
            format: uri
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Remote image returned.
        "404":
          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"
            application/octet-stream:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Remote image not found.
      summary: Gets a remote image.
      tags:
        - RemoteImage
  /Items:
    delete:
      operationId: DeleteItems
      parameters:
        - description: The item ids.
          in: query
          name: ids
          schema:
            description: The item ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
      responses:
        "204":
          description: Items deleted.
        "401":
          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"
          description: Unauthorized access.
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Deletes items from the library and filesystem.
      tags:
        - Library
    get:
      operationId: GetItems
      parameters:
        - description: The user id supplied as query parameter.
          in: query
          name: userId
          schema:
            description: The user id supplied as query parameter.
            format: uuid
            nullable: true
            type: string
        - description: Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).
          in: query
          name: maxOfficialRating
          schema:
            description: Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).
            nullable: true
            type: string
        - description: Optional filter by items with theme songs.
          in: query
          name: hasThemeSong
          schema:
            description: Optional filter by items with theme songs.
            nullable: true
            type: boolean
        - description: Optional filter by items with theme videos.
          in: query
          name: hasThemeVideo
          schema:
            description: Optional filter by items with theme videos.
            nullable: true
            type: boolean
        - description: Optional filter by items with subtitles.
          in: query
          name: hasSubtitles
          schema:
            description: Optional filter by items with subtitles.
            nullable: true
            type: boolean
        - description: Optional filter by items with special features.
          in: query
          name: hasSpecialFeature
          schema:
            description: Optional filter by items with special features.
            nullable: true
            type: boolean
        - description: Optional filter by items with trailers.
          in: query
          name: hasTrailer
          schema:
            description: Optional filter by items with trailers.
            nullable: true
            type: boolean
        - description: Optional. Return items that are siblings of a supplied item.
          in: query
          name: adjacentTo
          schema:
            description: Optional. Return items that are siblings of a supplied item.
            nullable: true
            type: string
        - description: Optional filter by parent index number.
          in: query
          name: parentIndexNumber
          schema:
            description: Optional filter by parent index number.
            format: int32
            nullable: true
            type: integer
        - description: Optional filter by items that have or do not have a parental rating.
          in: query
          name: hasParentalRating
          schema:
            description: Optional filter by items that have or do not have a parental rating.
            nullable: true
            type: boolean
        - description: Optional filter by items that are HD or not.
          in: query
          name: isHd
          schema:
            description: Optional filter by items that are HD or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that are 4K or not.
          in: query
          name: is4K
          schema:
            description: Optional filter by items that are 4K or not.
            nullable: true
            type: boolean
        - description: Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited.
          in: query
          name: locationTypes
          schema:
            description: Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/LocationType"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited.
          in: query
          name: excludeLocationTypes
          schema:
            description: Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/LocationType"
            nullable: true
            type: array
        - description: Optional filter by items that are missing episodes or not.
          in: query
          name: isMissing
          schema:
            description: Optional filter by items that are missing episodes or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that are unaired episodes or not.
          in: query
          name: isUnaired
          schema:
            description: Optional filter by items that are unaired episodes or not.
            nullable: true
            type: boolean
        - description: Optional filter by minimum community rating.
          in: query
          name: minCommunityRating
          schema:
            description: Optional filter by minimum community rating.
            format: double
            nullable: true
            type: number
        - description: Optional filter by minimum critic rating.
          in: query
          name: minCriticRating
          schema:
            description: Optional filter by minimum critic rating.
            format: double
            nullable: true
            type: number
        - description: Optional. The minimum premiere date. Format = ISO.
          in: query
          name: minPremiereDate
          schema:
            description: Optional. The minimum premiere date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The minimum last saved date. Format = ISO.
          in: query
          name: minDateLastSaved
          schema:
            description: Optional. The minimum last saved date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The minimum last saved date for the current user. Format = ISO.
          in: query
          name: minDateLastSavedForUser
          schema:
            description: Optional. The minimum last saved date for the current user. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The maximum premiere date. Format = ISO.
          in: query
          name: maxPremiereDate
          schema:
            description: Optional. The maximum premiere date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional filter by items that have an overview or not.
          in: query
          name: hasOverview
          schema:
            description: Optional filter by items that have an overview or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that have an imdb id or not.
          in: query
          name: hasImdbId
          schema:
            description: Optional filter by items that have an imdb id or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that have a tmdb id or not.
          in: query
          name: hasTmdbId
          schema:
            description: Optional filter by items that have a tmdb id or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that have a tvdb id or not.
          in: query
          name: hasTvdbId
          schema:
            description: Optional filter by items that have a tvdb id or not.
            nullable: true
            type: boolean
        - description: Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited.
          in: query
          name: excludeItemIds
          schema:
            description: Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: When searching within folders, this determines whether or not the search will be recursive. true/false.
          in: query
          name: recursive
          schema:
            description: When searching within folders, this determines whether or not the search will be recursive. true/false.
            nullable: true
            type: boolean
        - description: Optional. Filter based on a search term.
          in: query
          name: searchTerm
          schema:
            description: Optional. Filter based on a search term.
            nullable: true
            type: string
        - description: Sort Order - Ascending,Descending.
          in: query
          name: sortOrder
          schema:
            description: Sort Order - Ascending,Descending.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: "Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes."
          in: query
          name: filters
          schema:
            description: "Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes."
            items:
              $ref: "#/components/schemas/ItemFilter"
            nullable: true
            type: array
        - description: Optional filter by items that are marked as favorite, or not.
          in: query
          name: isFavorite
          schema:
            description: Optional filter by items that are marked as favorite, or not.
            nullable: true
            type: boolean
        - description: Optional filter by MediaType. Allows multiple, comma delimited.
          in: query
          name: mediaTypes
          schema:
            description: Optional filter by MediaType. Allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.
          in: query
          name: imageTypes
          schema:
            description: Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - 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."
          in: query
          name: sortBy
          schema:
            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."
            nullable: true
            type: string
        - description: Optional filter by items that are played, or not.
          in: query
          name: isPlayed
          schema:
            description: Optional filter by items that are played, or not.
            nullable: true
            type: boolean
        - description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.
          in: query
          name: genres
          schema:
            description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.
          in: query
          name: officialRatings
          schema:
            description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.
          in: query
          name: tags
          schema:
            description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.
          in: query
          name: years
          schema:
            description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.
            items:
              format: int32
              type: integer
            nullable: true
            type: array
        - description: Optional, include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional, include user data.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified person.
          in: query
          name: person
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person.
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered to include only those containing the specified person id.
          in: query
          name: personIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - 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.
          in: query
          name: personTypes
          schema:
            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.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.
          in: query
          name: studios
          schema:
            description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited.
          in: query
          name: artists
          schema:
            description: Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited.
          in: query
          name: excludeArtistIds
          schema:
            description: Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified artist id.
          in: query
          name: artistIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified artist id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified album artist id.
          in: query
          name: albumArtistIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified album artist id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified contributing artist id.
          in: query
          name: contributingArtistIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified contributing artist id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited.
          in: query
          name: albums
          schema:
            description: Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited.
          in: query
          name: albumIds
          schema:
            description: Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.
          in: query
          name: ids
          schema:
            description: Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited.
          in: query
          name: videoTypes
          schema:
            description: Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/VideoType"
            nullable: true
            type: array
        - description: Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).
          in: query
          name: minOfficialRating
          schema:
            description: Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).
            nullable: true
            type: string
        - description: Optional filter by items that are locked.
          in: query
          name: isLocked
          schema:
            description: Optional filter by items that are locked.
            nullable: true
            type: boolean
        - description: Optional filter by items that are placeholders.
          in: query
          name: isPlaceHolder
          schema:
            description: Optional filter by items that are placeholders.
            nullable: true
            type: boolean
        - description: Optional filter by items that have official ratings.
          in: query
          name: hasOfficialRating
          schema:
            description: Optional filter by items that have official ratings.
            nullable: true
            type: boolean
        - description: Whether or not to hide items behind their boxsets.
          in: query
          name: collapseBoxSetItems
          schema:
            description: Whether or not to hide items behind their boxsets.
            nullable: true
            type: boolean
        - description: Optional. Filter by the minimum width of the item.
          in: query
          name: minWidth
          schema:
            description: Optional. Filter by the minimum width of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by the minimum height of the item.
          in: query
          name: minHeight
          schema:
            description: Optional. Filter by the minimum height of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by the maximum width of the item.
          in: query
          name: maxWidth
          schema:
            description: Optional. Filter by the maximum width of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by the maximum height of the item.
          in: query
          name: maxHeight
          schema:
            description: Optional. Filter by the maximum height of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional filter by items that are 3D, or not.
          in: query
          name: is3D
          schema:
            description: Optional filter by items that are 3D, or not.
            nullable: true
            type: boolean
        - description: Optional filter by Series Status. Allows multiple, comma delimited.
          in: query
          name: seriesStatus
          schema:
            description: Optional filter by Series Status. Allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/SeriesStatus"
            nullable: true
            type: array
        - description: Optional filter by items whose name is sorted equally or greater than a given input string.
          in: query
          name: nameStartsWithOrGreater
          schema:
            description: Optional filter by items whose name is sorted equally or greater than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally than a given input string.
          in: query
          name: nameStartsWith
          schema:
            description: Optional filter by items whose name is sorted equally than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is equally or lesser than a given input string.
          in: query
          name: nameLessThan
          schema:
            description: Optional filter by items whose name is equally or lesser than a given input string.
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.
          in: query
          name: studioIds
          schema:
            description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.
          in: query
          name: genreIds
          schema:
            description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Enable the total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Optional. Enable the total record count.
            type: boolean
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional, include image information in output.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets items based on a query.
      tags:
        - Items
  /Items/Counts:
    get:
      operationId: GetItemCounts
      parameters:
        - description: Optional. Get counts from a specific user's library.
          in: query
          name: userId
          schema:
            description: Optional. Get counts from a specific user's library.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Get counts of favorite items.
          in: query
          name: isFavorite
          schema:
            description: Optional. Get counts of favorite items.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Item counts returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get item counts.
      tags:
        - Library
  /Items/Filters:
    get:
      operationId: GetQueryFiltersLegacy
      parameters:
        - description: Optional. User id.
          in: query
          name: userId
          schema:
            description: Optional. User id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Parent id.
          in: query
          name: parentId
          schema:
            description: Optional. Parent id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. Filter by MediaType. Allows multiple, comma delimited.
          in: query
          name: mediaTypes
          schema:
            description: Optional. Filter by MediaType. Allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Legacy filters retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets legacy query filters.
      tags:
        - Filter
  /Items/Filters2:
    get:
      operationId: GetQueryFilters
      parameters:
        - description: Optional. User id.
          in: query
          name: userId
          schema:
            description: Optional. User id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. Is item airing.
          in: query
          name: isAiring
          schema:
            description: Optional. Is item airing.
            nullable: true
            type: boolean
        - description: Optional. Is item movie.
          in: query
          name: isMovie
          schema:
            description: Optional. Is item movie.
            nullable: true
            type: boolean
        - description: Optional. Is item sports.
          in: query
          name: isSports
          schema:
            description: Optional. Is item sports.
            nullable: true
            type: boolean
        - description: Optional. Is item kids.
          in: query
          name: isKids
          schema:
            description: Optional. Is item kids.
            nullable: true
            type: boolean
        - description: Optional. Is item news.
          in: query
          name: isNews
          schema:
            description: Optional. Is item news.
            nullable: true
            type: boolean
        - description: Optional. Is item series.
          in: query
          name: isSeries
          schema:
            description: Optional. Is item series.
            nullable: true
            type: boolean
        - description: Optional. Search recursive.
          in: query
          name: recursive
          schema:
            description: Optional. Search recursive.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Filters retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets query filters.
      tags:
        - Filter
  "/Items/RemoteSearch/Apply/{itemId}":
    post:
      operationId: ApplySearchCriteria
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: "Optional. Whether or not to replace all images. Default: True."
          in: query
          name: replaceAllImages
          schema:
            default: true
            description: "Optional. Whether or not to replace all images. Default: True."
            type: boolean
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/RemoteSearchResult"
          application/json:
            schema:
              $ref: "#/components/schemas/RemoteSearchResult"
          text/json:
            schema:
              $ref: "#/components/schemas/RemoteSearchResult"
        description: The remote search result.
        required: true
      responses:
        "204":
          description: Item metadata refreshed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Applies search criteria to an item and refreshes metadata.
      tags:
        - ItemLookup
  /Items/RemoteSearch/Book:
    post:
      operationId: GetBookRemoteSearchResults
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/BookInfoRemoteSearchQuery"
          application/json:
            schema:
              $ref: "#/components/schemas/BookInfoRemoteSearchQuery"
          text/json:
            schema:
              $ref: "#/components/schemas/BookInfoRemoteSearchQuery"
        description: Remote search query.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
          description: Book remote search executed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get book remote search.
      tags:
        - ItemLookup
  /Items/RemoteSearch/BoxSet:
    post:
      operationId: GetBoxSetRemoteSearchResults
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/BoxSetInfoRemoteSearchQuery"
          application/json:
            schema:
              $ref: "#/components/schemas/BoxSetInfoRemoteSearchQuery"
          text/json:
            schema:
              $ref: "#/components/schemas/BoxSetInfoRemoteSearchQuery"
        description: Remote search query.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
          description: Box set remote search executed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get box set remote search.
      tags:
        - ItemLookup
  /Items/RemoteSearch/Image:
    get:
      operationId: GetRemoteSearchImage
      parameters:
        - description: The image url.
          in: query
          name: imageUrl
          required: true
          schema:
            description: The image url.
            type: string
        - description: The provider name.
          in: query
          name: providerName
          required: true
          schema:
            description: The provider name.
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Remote image retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a remote image.
      tags:
        - ItemLookup
  /Items/RemoteSearch/Movie:
    post:
      operationId: GetMovieRemoteSearchResults
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/MovieInfoRemoteSearchQuery"
          application/json:
            schema:
              $ref: "#/components/schemas/MovieInfoRemoteSearchQuery"
          text/json:
            schema:
              $ref: "#/components/schemas/MovieInfoRemoteSearchQuery"
        description: Remote search query.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
          description: Movie remote search executed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get movie remote search.
      tags:
        - ItemLookup
  /Items/RemoteSearch/MusicAlbum:
    post:
      operationId: GetMusicAlbumRemoteSearchResults
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/AlbumInfoRemoteSearchQuery"
          application/json:
            schema:
              $ref: "#/components/schemas/AlbumInfoRemoteSearchQuery"
          text/json:
            schema:
              $ref: "#/components/schemas/AlbumInfoRemoteSearchQuery"
        description: Remote search query.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
          description: Music album remote search executed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get music album remote search.
      tags:
        - ItemLookup
  /Items/RemoteSearch/MusicArtist:
    post:
      operationId: GetMusicArtistRemoteSearchResults
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ArtistInfoRemoteSearchQuery"
          application/json:
            schema:
              $ref: "#/components/schemas/ArtistInfoRemoteSearchQuery"
          text/json:
            schema:
              $ref: "#/components/schemas/ArtistInfoRemoteSearchQuery"
        description: Remote search query.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
          description: Music artist remote search executed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get music artist remote search.
      tags:
        - ItemLookup
  /Items/RemoteSearch/MusicVideo:
    post:
      operationId: GetMusicVideoRemoteSearchResults
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/MusicVideoInfoRemoteSearchQuery"
          application/json:
            schema:
              $ref: "#/components/schemas/MusicVideoInfoRemoteSearchQuery"
          text/json:
            schema:
              $ref: "#/components/schemas/MusicVideoInfoRemoteSearchQuery"
        description: Remote search query.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
          description: Music video remote search executed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get music video remote search.
      tags:
        - ItemLookup
  /Items/RemoteSearch/Person:
    post:
      operationId: GetPersonRemoteSearchResults
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PersonLookupInfoRemoteSearchQuery"
          application/json:
            schema:
              $ref: "#/components/schemas/PersonLookupInfoRemoteSearchQuery"
          text/json:
            schema:
              $ref: "#/components/schemas/PersonLookupInfoRemoteSearchQuery"
        description: Remote search query.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
          description: Person remote search executed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get person remote search.
      tags:
        - ItemLookup
  /Items/RemoteSearch/Series:
    post:
      operationId: GetSeriesRemoteSearchResults
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/SeriesInfoRemoteSearchQuery"
          application/json:
            schema:
              $ref: "#/components/schemas/SeriesInfoRemoteSearchQuery"
          text/json:
            schema:
              $ref: "#/components/schemas/SeriesInfoRemoteSearchQuery"
        description: Remote search query.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
          description: Series remote search executed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get series remote search.
      tags:
        - ItemLookup
  /Items/RemoteSearch/Trailer:
    post:
      operationId: GetTrailerRemoteSearchResults
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/TrailerInfoRemoteSearchQuery"
          application/json:
            schema:
              $ref: "#/components/schemas/TrailerInfoRemoteSearchQuery"
          text/json:
            schema:
              $ref: "#/components/schemas/TrailerInfoRemoteSearchQuery"
        description: Remote search query.
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSearchResult"
                type: array
          description: Trailer remote search executed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get trailer remote search.
      tags:
        - ItemLookup
  "/Items/{id}/InstantMix":
    get:
      operationId: GetInstantMixFromItem
      parameters:
        - description: The item id.
          in: path
          name: id
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Instant playlist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates an instant playlist based on a given song.
      tags:
        - InstantMix
  "/Items/{itemId}":
    delete:
      operationId: DeleteItem
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
      responses:
        "204":
          description: Item deleted.
        "401":
          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"
          description: Unauthorized access.
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Deletes an item from the library and filesystem.
      tags:
        - Library
    post:
      operationId: UpdateItem
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/BaseItemDto"
          application/json:
            schema:
              $ref: "#/components/schemas/BaseItemDto"
          text/json:
            schema:
              $ref: "#/components/schemas/BaseItemDto"
        description: The new item properties.
        required: true
      responses:
        "204":
          description: Item updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Updates an item.
      tags:
        - ItemUpdate
  "/Items/{itemId}/Ancestors":
    get:
      operationId: GetAncestors
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
          description: Item parents returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Gets all parents of an item.
      tags:
        - Library
  "/Items/{itemId}/ContentType":
    post:
      operationId: UpdateItemContentType
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The content type of the item.
          in: query
          name: contentType
          schema:
            description: The content type of the item.
            nullable: true
            type: string
      responses:
        "204":
          description: Item content type updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Updates an item's content type.
      tags:
        - ItemUpdate
  "/Items/{itemId}/CriticReviews":
    get:
      deprecated: true
      operationId: GetCriticReviews
      parameters:
        - in: path
          name: itemId
          required: true
          schema:
            type: string
      responses:
        "200":
          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"
          description: Critic reviews returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets critic review for an item.
      tags:
        - Library
  "/Items/{itemId}/Download":
    get:
      operationId: GetDownload
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
            video/*:
              schema:
                format: binary
                type: string
          description: Media downloaded.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Downloads item media.
      tags:
        - Library
  "/Items/{itemId}/ExternalIdInfos":
    get:
      operationId: GetExternalIdInfos
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ExternalIdInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/ExternalIdInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/ExternalIdInfo"
                type: array
          description: External id info retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Get the item's external id info.
      tags:
        - ItemLookup
  "/Items/{itemId}/File":
    get:
      operationId: GetFile
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
      responses:
        "200":
          content:
            audio/*:
              schema:
                format: binary
                type: string
            video/*:
              schema:
                format: binary
                type: string
          description: File stream returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Get the original file of an item.
      tags:
        - Library
  "/Items/{itemId}/Images":
    get:
      operationId: GetItemImageInfos
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ImageInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageInfo"
                type: array
          description: Item images returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Get item image infos.
      tags:
        - Image
  "/Items/{itemId}/Images/{imageType}":
    delete:
      operationId: DeleteItemImage
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: The image index.
          in: query
          name: imageIndex
          schema:
            description: The image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "204":
          description: Image deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Delete an item's image.
      tags:
        - Image
    get:
      operationId: GetItemImage
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Gets the item's image.
      tags:
        - Image
    head:
      operationId: HeadItemImage
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Gets the item's image.
      tags:
        - Image
    post:
      operationId: SetItemImage
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
      responses:
        "204":
          description: Image saved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Set item image.
      tags:
        - Image
  "/Items/{itemId}/Images/{imageType}/{imageIndex}":
    delete:
      operationId: DeleteItemImageByIndex
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: The image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: The image index.
            format: int32
            type: integer
      responses:
        "204":
          description: Image deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Delete an item's image.
      tags:
        - Image
    get:
      operationId: GetItemImageByIndex
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Gets the item's image.
      tags:
        - Image
    head:
      operationId: HeadItemImageByIndex
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Gets the item's image.
      tags:
        - Image
    post:
      operationId: SetItemImageByIndex
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: (Unused) Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: (Unused) Image index.
            format: int32
            type: integer
      responses:
        "204":
          description: Image saved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Set item image.
      tags:
        - Image
  "/Items/{itemId}/Images/{imageType}/{imageIndex}/Index":
    post:
      operationId: UpdateItemImageIndex
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Old image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Old image index.
            format: int32
            type: integer
        - description: New image index.
          in: query
          name: newIndex
          schema:
            description: New image index.
            format: int32
            type: integer
      responses:
        "204":
          description: Image index updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Updates the index for an item image.
      tags:
        - Image
  "/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}":
    get:
      operationId: GetItemImage2
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: The maximum image width to return.
          in: path
          name: maxWidth
          required: true
          schema:
            description: The maximum image width to return.
            format: int32
            type: integer
        - description: The maximum image height to return.
          in: path
          name: maxHeight
          required: true
          schema:
            description: The maximum image height to return.
            format: int32
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: path
          name: tag
          required: true
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            type: string
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: path
          name: format
          required: true
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Percent to render for the percent played overlay.
          in: path
          name: percentPlayed
          required: true
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: path
          name: unplayedCount
          required: true
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            type: integer
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Gets the item's image.
      tags:
        - Image
    head:
      operationId: HeadItemImage2
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: The maximum image width to return.
          in: path
          name: maxWidth
          required: true
          schema:
            description: The maximum image width to return.
            format: int32
            type: integer
        - description: The maximum image height to return.
          in: path
          name: maxHeight
          required: true
          schema:
            description: The maximum image height to return.
            format: int32
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: path
          name: tag
          required: true
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            type: string
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: path
          name: format
          required: true
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Percent to render for the percent played overlay.
          in: path
          name: percentPlayed
          required: true
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: path
          name: unplayedCount
          required: true
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            type: integer
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Gets the item's image.
      tags:
        - Image
  "/Items/{itemId}/MetadataEditor":
    get:
      operationId: GetMetadataEditorInfo
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Item metadata editor returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Gets metadata editor info for an item.
      tags:
        - ItemUpdate
  "/Items/{itemId}/PlaybackInfo":
    get:
      operationId: GetPlaybackInfo
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The user id.
          in: query
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Playback info returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets live playback media info for an item.
      tags:
        - MediaInfo
    post:
      description: For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence.
      operationId: GetPostedPlaybackInfo
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The user id.
          in: query
          name: userId
          schema:
            description: The user id.
            format: uuid
            nullable: true
            type: string
        - description: The maximum streaming bitrate.
          in: query
          name: maxStreamingBitrate
          schema:
            description: The maximum streaming bitrate.
            format: int32
            nullable: true
            type: integer
        - description: The start time in ticks.
          in: query
          name: startTimeTicks
          schema:
            description: The start time in ticks.
            format: int64
            nullable: true
            type: integer
        - description: The audio stream index.
          in: query
          name: audioStreamIndex
          schema:
            description: The audio stream index.
            format: int32
            nullable: true
            type: integer
        - description: The subtitle stream index.
          in: query
          name: subtitleStreamIndex
          schema:
            description: The subtitle stream index.
            format: int32
            nullable: true
            type: integer
        - description: The maximum number of audio channels.
          in: query
          name: maxAudioChannels
          schema:
            description: The maximum number of audio channels.
            format: int32
            nullable: true
            type: integer
        - description: The media source id.
          in: query
          name: mediaSourceId
          schema:
            description: The media source id.
            nullable: true
            type: string
        - description: The livestream id.
          in: query
          name: liveStreamId
          schema:
            description: The livestream id.
            nullable: true
            type: string
        - description: Whether to auto open the livestream.
          in: query
          name: autoOpenLiveStream
          schema:
            description: Whether to auto open the livestream.
            nullable: true
            type: boolean
        - description: "Whether to enable direct play. Default: true."
          in: query
          name: enableDirectPlay
          schema:
            description: "Whether to enable direct play. Default: true."
            nullable: true
            type: boolean
        - description: "Whether to enable direct stream. Default: true."
          in: query
          name: enableDirectStream
          schema:
            description: "Whether to enable direct stream. Default: true."
            nullable: true
            type: boolean
        - description: "Whether to enable transcoding. Default: true."
          in: query
          name: enableTranscoding
          schema:
            description: "Whether to enable transcoding. Default: true."
            nullable: true
            type: boolean
        - description: "Whether to allow to copy the video stream. Default: true."
          in: query
          name: allowVideoStreamCopy
          schema:
            description: "Whether to allow to copy the video stream. Default: true."
            nullable: true
            type: boolean
        - description: "Whether to allow to copy the audio stream. Default: true."
          in: query
          name: allowAudioStreamCopy
          schema:
            description: "Whether to allow to copy the audio stream. Default: true."
            nullable: true
            type: boolean
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlaybackInfoDto"
          application/json:
            schema:
              $ref: "#/components/schemas/PlaybackInfoDto"
          text/json:
            schema:
              $ref: "#/components/schemas/PlaybackInfoDto"
        description: The playback info.
      responses:
        "200":
          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"
          description: Playback info returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets live playback media info for an item.
      tags:
        - MediaInfo
  "/Items/{itemId}/Refresh":
    post:
      operationId: Post
      parameters:
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: (Optional) Specifies the metadata refresh mode.
          in: query
          name: metadataRefreshMode
          schema:
            $ref: "#/components/schemas/MetadataRefreshMode"
        - description: (Optional) Specifies the image refresh mode.
          in: query
          name: imageRefreshMode
          schema:
            $ref: "#/components/schemas/MetadataRefreshMode"
        - description: (Optional) Determines if metadata should be replaced. Only applicable if mode is FullRefresh.
          in: query
          name: replaceAllMetadata
          schema:
            default: false
            description: (Optional) Determines if metadata should be replaced. Only applicable if mode is FullRefresh.
            type: boolean
        - description: (Optional) Determines if images should be replaced. Only applicable if mode is FullRefresh.
          in: query
          name: replaceAllImages
          schema:
            default: false
            description: (Optional) Determines if images should be replaced. Only applicable if mode is FullRefresh.
            type: boolean
      responses:
        "204":
          description: Item metadata refresh queued.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item to refresh not found.
      security:
        - CustomAuthentication: []
      summary: Refreshes metadata for an item.
      tags:
        - ItemRefresh
  "/Items/{itemId}/RemoteImages":
    get:
      operationId: GetRemoteImages
      parameters:
        - description: Item Id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item Id.
            format: uuid
            type: string
        - description: The image type.
          in: query
          name: type
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image provider to use.
          in: query
          name: providerName
          schema:
            description: Optional. The image provider to use.
            nullable: true
            type: string
        - description: Optional. Include all languages.
          in: query
          name: includeAllLanguages
          schema:
            default: false
            description: Optional. Include all languages.
            type: boolean
      responses:
        "200":
          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"
          description: Remote Images returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Gets available remote images for an item.
      tags:
        - RemoteImage
  "/Items/{itemId}/RemoteImages/Download":
    post:
      operationId: DownloadRemoteImage
      parameters:
        - description: Item Id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item Id.
            format: uuid
            type: string
        - description: The image type.
          in: query
          name: type
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: The image url.
          in: query
          name: imageUrl
          schema:
            description: The image url.
            nullable: true
            type: string
      responses:
        "204":
          description: Remote image downloaded.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Remote image not found.
      security:
        - CustomAuthentication: []
      summary: Downloads a remote image for an item.
      tags:
        - RemoteImage
  "/Items/{itemId}/RemoteImages/Providers":
    get:
      operationId: GetRemoteImageProviders
      parameters:
        - description: Item Id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item Id.
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ImageProviderInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageProviderInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/ImageProviderInfo"
                type: array
          description: Returned remote image providers.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Gets available remote image providers for an item.
      tags:
        - RemoteImage
  "/Items/{itemId}/RemoteSearch/Subtitles/{language}":
    get:
      operationId: SearchRemoteSubtitles
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The language of the subtitles.
          in: path
          name: language
          required: true
          schema:
            description: The language of the subtitles.
            type: string
        - description: Optional. Only show subtitles which are a perfect match.
          in: query
          name: isPerfectMatch
          schema:
            description: Optional. Only show subtitles which are a perfect match.
            nullable: true
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSubtitleInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSubtitleInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RemoteSubtitleInfo"
                type: array
          description: Subtitles retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Search remote subtitles.
      tags:
        - Subtitle
  "/Items/{itemId}/RemoteSearch/Subtitles/{subtitleId}":
    post:
      operationId: DownloadRemoteSubtitles
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The subtitle id.
          in: path
          name: subtitleId
          required: true
          schema:
            description: The subtitle id.
            type: string
      responses:
        "204":
          description: Subtitle downloaded.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Downloads a remote subtitle.
      tags:
        - Subtitle
  "/Items/{itemId}/Similar":
    get:
      operationId: GetSimilarItems
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Exclude artist ids.
          in: query
          name: excludeArtistIds
          schema:
            description: Exclude artist ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Similar items returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets similar items.
      tags:
        - Library
  "/Items/{itemId}/ThemeMedia":
    get:
      operationId: GetThemeMedia
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Determines whether or not parent items should be searched for theme media.
          in: query
          name: inheritFromParent
          schema:
            default: false
            description: Optional. Determines whether or not parent items should be searched for theme media.
            type: boolean
      responses:
        "200":
          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"
          description: Theme songs and videos returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Get theme songs and videos for an item.
      tags:
        - Library
  "/Items/{itemId}/ThemeSongs":
    get:
      operationId: GetThemeSongs
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Determines whether or not parent items should be searched for theme media.
          in: query
          name: inheritFromParent
          schema:
            default: false
            description: Optional. Determines whether or not parent items should be searched for theme media.
            type: boolean
      responses:
        "200":
          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"
          description: Theme songs returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Get theme songs for an item.
      tags:
        - Library
  "/Items/{itemId}/ThemeVideos":
    get:
      operationId: GetThemeVideos
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Determines whether or not parent items should be searched for theme media.
          in: query
          name: inheritFromParent
          schema:
            default: false
            description: Optional. Determines whether or not parent items should be searched for theme media.
            type: boolean
      responses:
        "200":
          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"
          description: Theme videos returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Get theme videos for an item.
      tags:
        - Library
  /Libraries/AvailableOptions:
    get:
      operationId: GetLibraryOptionsInfo
      parameters:
        - description: Library content type.
          in: query
          name: libraryContentType
          schema:
            description: Library content type.
            nullable: true
            type: string
        - description: Whether this is a new library.
          in: query
          name: isNewLibrary
          schema:
            description: Whether this is a new library.
            type: boolean
      responses:
        "200":
          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"
          description: Library options info returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the library options info.
      tags:
        - Library
  /Library/Media/Updated:
    post:
      operationId: PostUpdatedMedia
      requestBody:
        content:
          application/*+json:
            schema:
              description: A list of updated media paths.
              items:
                $ref: "#/components/schemas/MediaUpdateInfoDto"
              type: array
          application/json:
            schema:
              description: A list of updated media paths.
              items:
                $ref: "#/components/schemas/MediaUpdateInfoDto"
              type: array
          text/json:
            schema:
              description: A list of updated media paths.
              items:
                $ref: "#/components/schemas/MediaUpdateInfoDto"
              type: array
        description: A list of updated media paths.
        required: true
      responses:
        "204":
          description: Report success.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports that new movies have been added by an external source.
      tags:
        - Library
  /Library/MediaFolders:
    get:
      operationId: GetMediaFolders
      parameters:
        - description: Optional. Filter by folders that are marked hidden, or not.
          in: query
          name: isHidden
          schema:
            description: Optional. Filter by folders that are marked hidden, or not.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Media folders returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all user media folders.
      tags:
        - Library
  /Library/Movies/Added:
    post:
      operationId: PostAddedMovies
      parameters:
        - description: The tmdbId.
          in: query
          name: tmdbId
          schema:
            description: The tmdbId.
            nullable: true
            type: string
        - description: The imdbId.
          in: query
          name: imdbId
          schema:
            description: The imdbId.
            nullable: true
            type: string
      responses:
        "204":
          description: Report success.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports that new movies have been added by an external source.
      tags:
        - Library
  /Library/Movies/Updated:
    post:
      operationId: PostUpdatedMovies
      parameters:
        - description: The tmdbId.
          in: query
          name: tmdbId
          schema:
            description: The tmdbId.
            nullable: true
            type: string
        - description: The imdbId.
          in: query
          name: imdbId
          schema:
            description: The imdbId.
            nullable: true
            type: string
      responses:
        "204":
          description: Report success.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports that new movies have been added by an external source.
      tags:
        - Library
  /Library/PhysicalPaths:
    get:
      operationId: GetPhysicalPaths
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  type: string
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  type: string
                type: array
          description: Physical paths returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a list of physical paths from virtual folders.
      tags:
        - Library
  /Library/Refresh:
    get:
      operationId: RefreshLibrary
      responses:
        "204":
          description: Library scan started.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Starts a library scan.
      tags:
        - Library
  /Library/Series/Added:
    post:
      operationId: PostAddedSeries
      parameters:
        - description: The tvdbId.
          in: query
          name: tvdbId
          schema:
            description: The tvdbId.
            nullable: true
            type: string
      responses:
        "204":
          description: Report success.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports that new episodes of a series have been added by an external source.
      tags:
        - Library
  /Library/Series/Updated:
    post:
      operationId: PostUpdatedSeries
      parameters:
        - description: The tvdbId.
          in: query
          name: tvdbId
          schema:
            description: The tvdbId.
            nullable: true
            type: string
      responses:
        "204":
          description: Report success.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports that new episodes of a series have been added by an external source.
      tags:
        - Library
  /Library/VirtualFolders:
    delete:
      operationId: RemoveVirtualFolder
      parameters:
        - description: The name of the folder.
          in: query
          name: name
          schema:
            description: The name of the folder.
            nullable: true
            type: string
        - description: Whether to refresh the library.
          in: query
          name: refreshLibrary
          schema:
            default: false
            description: Whether to refresh the library.
            type: boolean
      responses:
        "204":
          description: Folder removed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Removes a virtual folder.
      tags:
        - LibraryStructure
    get:
      operationId: GetVirtualFolders
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/VirtualFolderInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/VirtualFolderInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/VirtualFolderInfo"
                type: array
          description: Virtual folders retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all virtual folders.
      tags:
        - LibraryStructure
    post:
      operationId: AddVirtualFolder
      parameters:
        - description: The name of the virtual folder.
          in: query
          name: name
          schema:
            description: The name of the virtual folder.
            nullable: true
            type: string
        - description: The type of the collection.
          in: query
          name: collectionType
          schema:
            description: The type of the collection.
            nullable: true
            type: string
        - description: The paths of the virtual folder.
          in: query
          name: paths
          schema:
            description: The paths of the virtual folder.
            items:
              type: string
            nullable: true
            type: array
        - description: Whether to refresh the library.
          in: query
          name: refreshLibrary
          schema:
            default: false
            description: Whether to refresh the library.
            type: boolean
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/AddVirtualFolderDto"
          application/json:
            schema:
              $ref: "#/components/schemas/AddVirtualFolderDto"
          text/json:
            schema:
              $ref: "#/components/schemas/AddVirtualFolderDto"
        description: The library options.
      responses:
        "204":
          description: Folder added.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Adds a virtual folder.
      tags:
        - LibraryStructure
  /Library/VirtualFolders/LibraryOptions:
    post:
      operationId: UpdateLibraryOptions
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UpdateLibraryOptionsDto"
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateLibraryOptionsDto"
          text/json:
            schema:
              $ref: "#/components/schemas/UpdateLibraryOptionsDto"
        description: The library name and options.
      responses:
        "204":
          description: Library updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Update library options.
      tags:
        - LibraryStructure
  /Library/VirtualFolders/Name:
    post:
      operationId: RenameVirtualFolder
      parameters:
        - description: The name of the virtual folder.
          in: query
          name: name
          schema:
            description: The name of the virtual folder.
            nullable: true
            type: string
        - description: The new name.
          in: query
          name: newName
          schema:
            description: The new name.
            nullable: true
            type: string
        - description: Whether to refresh the library.
          in: query
          name: refreshLibrary
          schema:
            default: false
            description: Whether to refresh the library.
            type: boolean
      responses:
        "204":
          description: Folder renamed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Library doesn't exist.
        "409":
          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"
          description: Library already exists.
      security:
        - CustomAuthentication: []
      summary: Renames a virtual folder.
      tags:
        - LibraryStructure
  /Library/VirtualFolders/Paths:
    delete:
      operationId: RemoveMediaPath
      parameters:
        - description: The name of the library.
          in: query
          name: name
          schema:
            description: The name of the library.
            nullable: true
            type: string
        - description: The path to remove.
          in: query
          name: path
          schema:
            description: The path to remove.
            nullable: true
            type: string
        - description: Whether to refresh the library.
          in: query
          name: refreshLibrary
          schema:
            default: false
            description: Whether to refresh the library.
            type: boolean
      responses:
        "204":
          description: Media path removed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Remove a media path.
      tags:
        - LibraryStructure
    post:
      operationId: AddMediaPath
      parameters:
        - description: Whether to refresh the library.
          in: query
          name: refreshLibrary
          schema:
            default: false
            description: Whether to refresh the library.
            type: boolean
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/MediaPathDto"
          application/json:
            schema:
              $ref: "#/components/schemas/MediaPathDto"
          text/json:
            schema:
              $ref: "#/components/schemas/MediaPathDto"
        description: The media path dto.
        required: true
      responses:
        "204":
          description: Media path added.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Add a media path to a library.
      tags:
        - LibraryStructure
  /Library/VirtualFolders/Paths/Update:
    post:
      operationId: UpdateMediaPath
      parameters:
        - description: The name of the library.
          in: query
          name: name
          schema:
            description: The name of the library.
            nullable: true
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/MediaPathInfo"
          application/json:
            schema:
              $ref: "#/components/schemas/MediaPathInfo"
          text/json:
            schema:
              $ref: "#/components/schemas/MediaPathInfo"
        description: The path info.
      responses:
        "204":
          description: Media path updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates a media path.
      tags:
        - LibraryStructure
  /LiveStreams/Close:
    post:
      operationId: CloseLiveStream
      parameters:
        - description: The livestream id.
          in: query
          name: liveStreamId
          required: true
          schema:
            description: The livestream id.
            type: string
      responses:
        "204":
          description: Livestream closed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Closes a media source.
      tags:
        - MediaInfo
  /LiveStreams/Open:
    post:
      operationId: OpenLiveStream
      parameters:
        - description: The open token.
          in: query
          name: openToken
          schema:
            description: The open token.
            nullable: true
            type: string
        - description: The user id.
          in: query
          name: userId
          schema:
            description: The user id.
            format: uuid
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The maximum streaming bitrate.
          in: query
          name: maxStreamingBitrate
          schema:
            description: The maximum streaming bitrate.
            format: int32
            nullable: true
            type: integer
        - description: The start time in ticks.
          in: query
          name: startTimeTicks
          schema:
            description: The start time in ticks.
            format: int64
            nullable: true
            type: integer
        - description: The audio stream index.
          in: query
          name: audioStreamIndex
          schema:
            description: The audio stream index.
            format: int32
            nullable: true
            type: integer
        - description: The subtitle stream index.
          in: query
          name: subtitleStreamIndex
          schema:
            description: The subtitle stream index.
            format: int32
            nullable: true
            type: integer
        - description: The maximum number of audio channels.
          in: query
          name: maxAudioChannels
          schema:
            description: The maximum number of audio channels.
            format: int32
            nullable: true
            type: integer
        - description: The item id.
          in: query
          name: itemId
          schema:
            description: The item id.
            format: uuid
            nullable: true
            type: string
        - description: "Whether to enable direct play. Default: true."
          in: query
          name: enableDirectPlay
          schema:
            description: "Whether to enable direct play. Default: true."
            nullable: true
            type: boolean
        - description: "Whether to enable direct stream. Default: true."
          in: query
          name: enableDirectStream
          schema:
            description: "Whether to enable direct stream. Default: true."
            nullable: true
            type: boolean
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/OpenLiveStreamDto"
          application/json:
            schema:
              $ref: "#/components/schemas/OpenLiveStreamDto"
          text/json:
            schema:
              $ref: "#/components/schemas/OpenLiveStreamDto"
        description: The open live stream dto.
      responses:
        "200":
          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"
          description: Media source opened.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Opens a media source.
      tags:
        - MediaInfo
  /LiveTv/ChannelMappingOptions:
    get:
      operationId: GetChannelMappingOptions
      parameters:
        - description: Provider id.
          in: query
          name: providerId
          schema:
            description: Provider id.
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Channel mapping options returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get channel mapping options.
      tags:
        - LiveTv
  /LiveTv/ChannelMappings:
    post:
      operationId: SetChannelMapping
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/SetChannelMappingDto"
          application/json:
            schema:
              $ref: "#/components/schemas/SetChannelMappingDto"
          text/json:
            schema:
              $ref: "#/components/schemas/SetChannelMappingDto"
        description: The set channel mapping dto.
        required: true
      responses:
        "200":
          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"
          description: Created channel mapping returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Set channel mappings.
      tags:
        - LiveTv
  /LiveTv/Channels:
    get:
      operationId: GetLiveTvChannels
      parameters:
        - description: Optional. Filter by channel type.
          in: query
          name: type
          schema:
            $ref: "#/components/schemas/ChannelType"
        - description: Optional. Filter by user and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter for movies.
          in: query
          name: isMovie
          schema:
            description: Optional. Filter for movies.
            nullable: true
            type: boolean
        - description: Optional. Filter for series.
          in: query
          name: isSeries
          schema:
            description: Optional. Filter for series.
            nullable: true
            type: boolean
        - description: Optional. Filter for news.
          in: query
          name: isNews
          schema:
            description: Optional. Filter for news.
            nullable: true
            type: boolean
        - description: Optional. Filter for kids.
          in: query
          name: isKids
          schema:
            description: Optional. Filter for kids.
            nullable: true
            type: boolean
        - description: Optional. Filter for sports.
          in: query
          name: isSports
          schema:
            description: Optional. Filter for sports.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by channels that are favorites, or not.
          in: query
          name: isFavorite
          schema:
            description: Optional. Filter by channels that are favorites, or not.
            nullable: true
            type: boolean
        - description: Optional. Filter by channels that are liked, or not.
          in: query
          name: isLiked
          schema:
            description: Optional. Filter by channels that are liked, or not.
            nullable: true
            type: boolean
        - description: Optional. Filter by channels that are disliked, or not.
          in: query
          name: isDisliked
          schema:
            description: Optional. Filter by channels that are disliked, or not.
            nullable: true
            type: boolean
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: '"Optional. The image types to include in the output.'
          in: query
          name: enableImageTypes
          schema:
            description: '"Optional. The image types to include in the output.'
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. Key to sort by.
          in: query
          name: sortBy
          schema:
            description: Optional. Key to sort by.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. Sort order.
          in: query
          name: sortOrder
          schema:
            $ref: "#/components/schemas/SortOrder"
        - description: Optional. Incorporate favorite and like status into channel sorting.
          in: query
          name: enableFavoriteSorting
          schema:
            default: false
            description: Optional. Incorporate favorite and like status into channel sorting.
            type: boolean
        - description: Optional. Adds current program info to each channel.
          in: query
          name: addCurrentProgram
          schema:
            default: true
            description: Optional. Adds current program info to each channel.
            type: boolean
      responses:
        "200":
          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"
          description: Available live tv channels returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets available live tv channels.
      tags:
        - LiveTv
  "/LiveTv/Channels/{channelId}":
    get:
      operationId: GetChannel
      parameters:
        - description: Channel id.
          in: path
          name: channelId
          required: true
          schema:
            description: Channel id.
            format: uuid
            type: string
        - description: Optional. Attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Live tv channel returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a live tv channel.
      tags:
        - LiveTv
  /LiveTv/GuideInfo:
    get:
      operationId: GetGuideInfo
      responses:
        "200":
          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"
          description: Guid info returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get guid info.
      tags:
        - LiveTv
  /LiveTv/Info:
    get:
      operationId: GetLiveTvInfo
      responses:
        "200":
          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"
          description: Available live tv services returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets available live tv services.
      tags:
        - LiveTv
  /LiveTv/ListingProviders:
    delete:
      operationId: DeleteListingProvider
      parameters:
        - description: Listing provider id.
          in: query
          name: id
          schema:
            description: Listing provider id.
            nullable: true
            type: string
      responses:
        "204":
          description: Listing provider deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Delete listing provider.
      tags:
        - LiveTv
    post:
      operationId: AddListingProvider
      parameters:
        - description: Password.
          in: query
          name: pw
          schema:
            description: Password.
            nullable: true
            type: string
        - description: Validate listings.
          in: query
          name: validateListings
          schema:
            default: false
            description: Validate listings.
            type: boolean
        - description: Validate login.
          in: query
          name: validateLogin
          schema:
            default: false
            description: Validate login.
            type: boolean
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ListingsProviderInfo"
          application/json:
            schema:
              $ref: "#/components/schemas/ListingsProviderInfo"
          text/json:
            schema:
              $ref: "#/components/schemas/ListingsProviderInfo"
        description: New listings info.
      responses:
        "200":
          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"
          description: Created listings provider returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Adds a listings provider.
      tags:
        - LiveTv
  /LiveTv/ListingProviders/Default:
    get:
      operationId: GetDefaultListingProvider
      responses:
        "200":
          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"
          description: Default listings provider info returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets default listings provider info.
      tags:
        - LiveTv
  /LiveTv/ListingProviders/Lineups:
    get:
      operationId: GetLineups
      parameters:
        - description: Provider id.
          in: query
          name: id
          schema:
            description: Provider id.
            nullable: true
            type: string
        - description: Provider type.
          in: query
          name: type
          schema:
            description: Provider type.
            nullable: true
            type: string
        - description: Location.
          in: query
          name: location
          schema:
            description: Location.
            nullable: true
            type: string
        - description: Country.
          in: query
          name: country
          schema:
            description: Country.
            nullable: true
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
          description: Available lineups returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets available lineups.
      tags:
        - LiveTv
  /LiveTv/ListingProviders/SchedulesDirect/Countries:
    get:
      operationId: GetSchedulesDirectCountries
      responses:
        "200":
          content:
            application/json:
              schema:
                format: binary
                type: string
          description: Available countries returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets available countries.
      tags:
        - LiveTv
  "/LiveTv/LiveRecordings/{recordingId}/stream":
    get:
      operationId: GetLiveRecordingFile
      parameters:
        - description: Recording id.
          in: path
          name: recordingId
          required: true
          schema:
            description: Recording id.
            type: string
      responses:
        "200":
          content:
            video/*:
              schema:
                format: binary
                type: string
          description: Recording stream returned.
        "404":
          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"
          description: Recording not found.
      summary: Gets a live tv recording stream.
      tags:
        - LiveTv
  "/LiveTv/LiveStreamFiles/{streamId}/stream.{container}":
    get:
      operationId: GetLiveStreamFile
      parameters:
        - description: Stream id.
          in: path
          name: streamId
          required: true
          schema:
            description: Stream id.
            type: string
        - description: Container type.
          in: path
          name: container
          required: true
          schema:
            description: Container type.
            type: string
      responses:
        "200":
          content:
            video/*:
              schema:
                format: binary
                type: string
          description: Stream returned.
        "404":
          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"
          description: Stream not found.
      summary: Gets a live tv channel stream.
      tags:
        - LiveTv
  /LiveTv/Programs:
    get:
      operationId: GetLiveTvPrograms
      parameters:
        - description: The channels to return guide information for.
          in: query
          name: channelIds
          schema:
            description: The channels to return guide information for.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Filter by user id.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The minimum premiere start date.
          in: query
          name: minStartDate
          schema:
            description: Optional. The minimum premiere start date.
            format: date-time
            nullable: true
            type: string
        - description: Optional. Filter by programs that have completed airing, or not.
          in: query
          name: hasAired
          schema:
            description: Optional. Filter by programs that have completed airing, or not.
            nullable: true
            type: boolean
        - description: Optional. Filter by programs that are currently airing, or not.
          in: query
          name: isAiring
          schema:
            description: Optional. Filter by programs that are currently airing, or not.
            nullable: true
            type: boolean
        - description: Optional. The maximum premiere start date.
          in: query
          name: maxStartDate
          schema:
            description: Optional. The maximum premiere start date.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The minimum premiere end date.
          in: query
          name: minEndDate
          schema:
            description: Optional. The minimum premiere end date.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The maximum premiere end date.
          in: query
          name: maxEndDate
          schema:
            description: Optional. The maximum premiere end date.
            format: date-time
            nullable: true
            type: string
        - description: Optional. Filter for movies.
          in: query
          name: isMovie
          schema:
            description: Optional. Filter for movies.
            nullable: true
            type: boolean
        - description: Optional. Filter for series.
          in: query
          name: isSeries
          schema:
            description: Optional. Filter for series.
            nullable: true
            type: boolean
        - description: Optional. Filter for news.
          in: query
          name: isNews
          schema:
            description: Optional. Filter for news.
            nullable: true
            type: boolean
        - description: Optional. Filter for kids.
          in: query
          name: isKids
          schema:
            description: Optional. Filter for kids.
            nullable: true
            type: boolean
        - description: Optional. Filter for sports.
          in: query
          name: isSports
          schema:
            description: Optional. Filter for sports.
            nullable: true
            type: boolean
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: "Optional. Specify one or more sort orders, comma delimited. Options: Name, StartDate."
          in: query
          name: sortBy
          schema:
            description: "Optional. Specify one or more sort orders, comma delimited. Options: Name, StartDate."
            nullable: true
            type: string
        - description: Sort Order - Ascending,Descending.
          in: query
          name: sortOrder
          schema:
            description: Sort Order - Ascending,Descending.
            nullable: true
            type: string
        - description: The genres to return guide information for.
          in: query
          name: genres
          schema:
            description: The genres to return guide information for.
            items:
              type: string
            nullable: true
            type: array
        - description: The genre ids to return guide information for.
          in: query
          name: genreIds
          schema:
            description: The genre ids to return guide information for.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. Filter by series timer id.
          in: query
          name: seriesTimerId
          schema:
            description: Optional. Filter by series timer id.
            nullable: true
            type: string
        - description: Optional. Filter by library series id.
          in: query
          name: librarySeriesId
          schema:
            description: Optional. Filter by library series id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Retrieve total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Retrieve total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Live tv epgs returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets available live tv epgs.
      tags:
        - LiveTv
    post:
      operationId: GetPrograms
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/GetProgramsDto"
          application/json:
            schema:
              $ref: "#/components/schemas/GetProgramsDto"
          text/json:
            schema:
              $ref: "#/components/schemas/GetProgramsDto"
        description: Request body.
      responses:
        "200":
          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"
          description: Live tv epgs returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets available live tv epgs.
      tags:
        - LiveTv
  /LiveTv/Programs/Recommended:
    get:
      operationId: GetRecommendedPrograms
      parameters:
        - description: Optional. filter by user id.
          in: query
          name: userId
          schema:
            description: Optional. filter by user id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by programs that are currently airing, or not.
          in: query
          name: isAiring
          schema:
            description: Optional. Filter by programs that are currently airing, or not.
            nullable: true
            type: boolean
        - description: Optional. Filter by programs that have completed airing, or not.
          in: query
          name: hasAired
          schema:
            description: Optional. Filter by programs that have completed airing, or not.
            nullable: true
            type: boolean
        - description: Optional. Filter for series.
          in: query
          name: isSeries
          schema:
            description: Optional. Filter for series.
            nullable: true
            type: boolean
        - description: Optional. Filter for movies.
          in: query
          name: isMovie
          schema:
            description: Optional. Filter for movies.
            nullable: true
            type: boolean
        - description: Optional. Filter for news.
          in: query
          name: isNews
          schema:
            description: Optional. Filter for news.
            nullable: true
            type: boolean
        - description: Optional. Filter for kids.
          in: query
          name: isKids
          schema:
            description: Optional. Filter for kids.
            nullable: true
            type: boolean
        - description: Optional. Filter for sports.
          in: query
          name: isSports
          schema:
            description: Optional. Filter for sports.
            nullable: true
            type: boolean
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: The genres to return guide information for.
          in: query
          name: genreIds
          schema:
            description: The genres to return guide information for.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. include user data.
            nullable: true
            type: boolean
        - description: Retrieve total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Retrieve total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Recommended epgs returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets recommended live tv epgs.
      tags:
        - LiveTv
  "/LiveTv/Programs/{programId}":
    get:
      operationId: GetProgram
      parameters:
        - description: Program id.
          in: path
          name: programId
          required: true
          schema:
            description: Program id.
            type: string
        - description: Optional. Attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Program returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a live tv program.
      tags:
        - LiveTv
  /LiveTv/Recordings:
    get:
      operationId: GetRecordings
      parameters:
        - description: Optional. Filter by channel id.
          in: query
          name: channelId
          schema:
            description: Optional. Filter by channel id.
            nullable: true
            type: string
        - description: Optional. Filter by user and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by recording status.
          in: query
          name: status
          schema:
            $ref: "#/components/schemas/RecordingStatus"
        - description: Optional. Filter by recordings that are in progress, or not.
          in: query
          name: isInProgress
          schema:
            description: Optional. Filter by recordings that are in progress, or not.
            nullable: true
            type: boolean
        - description: Optional. Filter by recordings belonging to a series timer.
          in: query
          name: seriesTimerId
          schema:
            description: Optional. Filter by recordings belonging to a series timer.
            nullable: true
            type: string
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. Filter for movies.
          in: query
          name: isMovie
          schema:
            description: Optional. Filter for movies.
            nullable: true
            type: boolean
        - description: Optional. Filter for series.
          in: query
          name: isSeries
          schema:
            description: Optional. Filter for series.
            nullable: true
            type: boolean
        - description: Optional. Filter for kids.
          in: query
          name: isKids
          schema:
            description: Optional. Filter for kids.
            nullable: true
            type: boolean
        - description: Optional. Filter for sports.
          in: query
          name: isSports
          schema:
            description: Optional. Filter for sports.
            nullable: true
            type: boolean
        - description: Optional. Filter for news.
          in: query
          name: isNews
          schema:
            description: Optional. Filter for news.
            nullable: true
            type: boolean
        - description: Optional. Filter for is library item.
          in: query
          name: isLibraryItem
          schema:
            description: Optional. Filter for is library item.
            nullable: true
            type: boolean
        - description: Optional. Return total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Optional. Return total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Live tv recordings returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets live tv recordings.
      tags:
        - LiveTv
  /LiveTv/Recordings/Folders:
    get:
      operationId: GetRecordingFolders
      parameters:
        - description: Optional. Filter by user and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user and attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Recording folders returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets recording folders.
      tags:
        - LiveTv
  /LiveTv/Recordings/Groups:
    get:
      deprecated: true
      operationId: GetRecordingGroups
      parameters:
        - description: Optional. Filter by user and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user and attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Recording groups returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets live tv recording groups.
      tags:
        - LiveTv
  "/LiveTv/Recordings/Groups/{groupId}":
    get:
      deprecated: true
      operationId: GetRecordingGroup
      parameters:
        - description: Group id.
          in: path
          name: groupId
          required: true
          schema:
            description: Group id.
            format: uuid
            type: string
      responses:
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Not Found
      security:
        - CustomAuthentication: []
      summary: Get recording group.
      tags:
        - LiveTv
  /LiveTv/Recordings/Series:
    get:
      deprecated: true
      operationId: GetRecordingsSeries
      parameters:
        - description: Optional. Filter by channel id.
          in: query
          name: channelId
          schema:
            description: Optional. Filter by channel id.
            nullable: true
            type: string
        - description: Optional. Filter by user and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Filter by recording group.
          in: query
          name: groupId
          schema:
            description: Optional. Filter by recording group.
            nullable: true
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by recording status.
          in: query
          name: status
          schema:
            $ref: "#/components/schemas/RecordingStatus"
        - description: Optional. Filter by recordings that are in progress, or not.
          in: query
          name: isInProgress
          schema:
            description: Optional. Filter by recordings that are in progress, or not.
            nullable: true
            type: boolean
        - description: Optional. Filter by recordings belonging to a series timer.
          in: query
          name: seriesTimerId
          schema:
            description: Optional. Filter by recordings belonging to a series timer.
            nullable: true
            type: string
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. Return total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Optional. Return total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Live tv recordings returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets live tv recording series.
      tags:
        - LiveTv
  "/LiveTv/Recordings/{recordingId}":
    delete:
      operationId: DeleteRecording
      parameters:
        - description: Recording id.
          in: path
          name: recordingId
          required: true
          schema:
            description: Recording id.
            format: uuid
            type: string
      responses:
        "204":
          description: Recording deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Deletes a live tv recording.
      tags:
        - LiveTv
    get:
      operationId: GetRecording
      parameters:
        - description: Recording id.
          in: path
          name: recordingId
          required: true
          schema:
            description: Recording id.
            format: uuid
            type: string
        - description: Optional. Attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Recording returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a live tv recording.
      tags:
        - LiveTv
  /LiveTv/SeriesTimers:
    get:
      operationId: GetSeriesTimers
      parameters:
        - description: Optional. Sort by SortName or Priority.
          in: query
          name: sortBy
          schema:
            description: Optional. Sort by SortName or Priority.
            nullable: true
            type: string
        - description: Optional. Sort in Ascending or Descending order.
          in: query
          name: sortOrder
          schema:
            $ref: "#/components/schemas/SortOrder"
      responses:
        "200":
          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"
          description: Timers returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets live tv series timers.
      tags:
        - LiveTv
    post:
      operationId: CreateSeriesTimer
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/SeriesTimerInfoDto"
          application/json:
            schema:
              $ref: "#/components/schemas/SeriesTimerInfoDto"
          text/json:
            schema:
              $ref: "#/components/schemas/SeriesTimerInfoDto"
        description: New series timer info.
      responses:
        "204":
          description: Series timer info created.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates a live tv series timer.
      tags:
        - LiveTv
  "/LiveTv/SeriesTimers/{timerId}":
    delete:
      operationId: CancelSeriesTimer
      parameters:
        - description: Timer id.
          in: path
          name: timerId
          required: true
          schema:
            description: Timer id.
            type: string
      responses:
        "204":
          description: Timer cancelled.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Cancels a live tv series timer.
      tags:
        - LiveTv
    get:
      operationId: GetSeriesTimer
      parameters:
        - description: Timer id.
          in: path
          name: timerId
          required: true
          schema:
            description: Timer id.
            type: string
      responses:
        "200":
          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"
          description: Series timer returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Series timer not found.
      security:
        - CustomAuthentication: []
      summary: Gets a live tv series timer.
      tags:
        - LiveTv
    post:
      operationId: UpdateSeriesTimer
      parameters:
        - description: Timer id.
          in: path
          name: timerId
          required: true
          schema:
            description: Timer id.
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/SeriesTimerInfoDto"
          application/json:
            schema:
              $ref: "#/components/schemas/SeriesTimerInfoDto"
          text/json:
            schema:
              $ref: "#/components/schemas/SeriesTimerInfoDto"
        description: New series timer info.
      responses:
        "204":
          description: Series timer updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates a live tv series timer.
      tags:
        - LiveTv
  /LiveTv/Timers:
    get:
      operationId: GetTimers
      parameters:
        - description: Optional. Filter by channel id.
          in: query
          name: channelId
          schema:
            description: Optional. Filter by channel id.
            nullable: true
            type: string
        - description: Optional. Filter by timers belonging to a series timer.
          in: query
          name: seriesTimerId
          schema:
            description: Optional. Filter by timers belonging to a series timer.
            nullable: true
            type: string
        - description: Optional. Filter by timers that are active.
          in: query
          name: isActive
          schema:
            description: Optional. Filter by timers that are active.
            nullable: true
            type: boolean
        - description: Optional. Filter by timers that are scheduled.
          in: query
          name: isScheduled
          schema:
            description: Optional. Filter by timers that are scheduled.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the live tv timers.
      tags:
        - LiveTv
    post:
      operationId: CreateTimer
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/TimerInfoDto"
          application/json:
            schema:
              $ref: "#/components/schemas/TimerInfoDto"
          text/json:
            schema:
              $ref: "#/components/schemas/TimerInfoDto"
        description: New timer info.
      responses:
        "204":
          description: Timer created.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates a live tv timer.
      tags:
        - LiveTv
  /LiveTv/Timers/Defaults:
    get:
      operationId: GetDefaultTimer
      parameters:
        - description: Optional. To attach default values based on a program.
          in: query
          name: programId
          schema:
            description: Optional. To attach default values based on a program.
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Default values returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the default values for a new timer.
      tags:
        - LiveTv
  "/LiveTv/Timers/{timerId}":
    delete:
      operationId: CancelTimer
      parameters:
        - description: Timer id.
          in: path
          name: timerId
          required: true
          schema:
            description: Timer id.
            type: string
      responses:
        "204":
          description: Timer deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Cancels a live tv timer.
      tags:
        - LiveTv
    get:
      operationId: GetTimer
      parameters:
        - description: Timer id.
          in: path
          name: timerId
          required: true
          schema:
            description: Timer id.
            type: string
      responses:
        "200":
          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"
          description: Timer returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a timer.
      tags:
        - LiveTv
    post:
      operationId: UpdateTimer
      parameters:
        - description: Timer id.
          in: path
          name: timerId
          required: true
          schema:
            description: Timer id.
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/TimerInfoDto"
          application/json:
            schema:
              $ref: "#/components/schemas/TimerInfoDto"
          text/json:
            schema:
              $ref: "#/components/schemas/TimerInfoDto"
        description: New timer info.
      responses:
        "204":
          description: Timer updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates a live tv timer.
      tags:
        - LiveTv
  /LiveTv/TunerHosts:
    delete:
      operationId: DeleteTunerHost
      parameters:
        - description: Tuner host id.
          in: query
          name: id
          schema:
            description: Tuner host id.
            nullable: true
            type: string
      responses:
        "204":
          description: Tuner host deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Deletes a tuner host.
      tags:
        - LiveTv
    post:
      operationId: AddTunerHost
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/TunerHostInfo"
          application/json:
            schema:
              $ref: "#/components/schemas/TunerHostInfo"
          text/json:
            schema:
              $ref: "#/components/schemas/TunerHostInfo"
        description: New tuner host.
      responses:
        "200":
          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"
          description: Created tuner host returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Adds a tuner host.
      tags:
        - LiveTv
  /LiveTv/TunerHosts/Types:
    get:
      operationId: GetTunerHostTypes
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
          description: Tuner host types returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get tuner host types.
      tags:
        - LiveTv
  /LiveTv/Tuners/Discover:
    get:
      operationId: DiscoverTuners
      parameters:
        - description: Only discover new tuners.
          in: query
          name: newDevicesOnly
          schema:
            default: false
            description: Only discover new tuners.
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/TunerHostInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/TunerHostInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/TunerHostInfo"
                type: array
          description: Tuners returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Discover tuners.
      tags:
        - LiveTv
  /LiveTv/Tuners/Discvover:
    get:
      operationId: DiscvoverTuners
      parameters:
        - description: Only discover new tuners.
          in: query
          name: newDevicesOnly
          schema:
            default: false
            description: Only discover new tuners.
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/TunerHostInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/TunerHostInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/TunerHostInfo"
                type: array
          description: Tuners returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Discover tuners.
      tags:
        - LiveTv
  "/LiveTv/Tuners/{tunerId}/Reset":
    post:
      operationId: ResetTuner
      parameters:
        - description: Tuner id.
          in: path
          name: tunerId
          required: true
          schema:
            description: Tuner id.
            type: string
      responses:
        "204":
          description: Tuner reset.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Resets a tv tuner.
      tags:
        - LiveTv
  /Localization/Countries:
    get:
      operationId: GetCountries
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/CountryInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/CountryInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/CountryInfo"
                type: array
          description: Known countries returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets known countries.
      tags:
        - Localization
  /Localization/Cultures:
    get:
      operationId: GetCultures
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/CultureDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/CultureDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/CultureDto"
                type: array
          description: Known cultures returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets known cultures.
      tags:
        - Localization
  /Localization/Options:
    get:
      operationId: GetLocalizationOptions
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/LocalizationOption"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/LocalizationOption"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/LocalizationOption"
                type: array
          description: Localization options returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets localization options.
      tags:
        - Localization
  /Localization/ParentalRatings:
    get:
      operationId: GetParentalRatings
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ParentalRating"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/ParentalRating"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/ParentalRating"
                type: array
          description: Known parental ratings returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets known parental ratings.
      tags:
        - Localization
  /Movies/Recommendations:
    get:
      operationId: GetMovieRecommendations
      parameters:
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The fields to return.
          in: query
          name: fields
          schema:
            description: Optional. The fields to return.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: The max number of categories to return.
          in: query
          name: categoryLimit
          schema:
            default: 5
            description: The max number of categories to return.
            format: int32
            type: integer
        - description: The max number of items to return per category.
          in: query
          name: itemLimit
          schema:
            default: 8
            description: The max number of items to return per category.
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RecommendationDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RecommendationDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RecommendationDto"
                type: array
          description: Movie recommendations returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets movie recommendations.
      tags:
        - Movies
  "/Movies/{itemId}/Similar":
    get:
      operationId: GetSimilarMovies
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Exclude artist ids.
          in: query
          name: excludeArtistIds
          schema:
            description: Exclude artist ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Similar items returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets similar items.
      tags:
        - Library
  /MusicGenres:
    get:
      deprecated: true
      operationId: GetMusicGenres
      parameters:
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: The search term.
          in: query
          name: searchTerm
          schema:
            description: The search term.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional filter by items that are marked as favorite, or not.
          in: query
          name: isFavorite
          schema:
            description: Optional filter by items that are marked as favorite, or not.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: User id.
          in: query
          name: userId
          schema:
            description: User id.
            format: uuid
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally or greater than a given input string.
          in: query
          name: nameStartsWithOrGreater
          schema:
            description: Optional filter by items whose name is sorted equally or greater than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally than a given input string.
          in: query
          name: nameStartsWith
          schema:
            description: Optional filter by items whose name is sorted equally than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is equally or lesser than a given input string.
          in: query
          name: nameLessThan
          schema:
            description: Optional filter by items whose name is equally or lesser than a given input string.
            nullable: true
            type: string
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional, include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Optional. Include total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Music genres returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all music genres from a given item, folder, or the entire library.
      tags:
        - MusicGenres
  "/MusicGenres/{genreName}":
    get:
      operationId: GetMusicGenre
      parameters:
        - description: The genre name.
          in: path
          name: genreName
          required: true
          schema:
            description: The genre name.
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a music genre, by name.
      tags:
        - MusicGenres
  "/MusicGenres/{id}/InstantMix":
    get:
      operationId: GetInstantMixFromMusicGenres
      parameters:
        - description: The item id.
          in: path
          name: id
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Instant playlist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates an instant playlist based on a given song.
      tags:
        - InstantMix
  "/MusicGenres/{name}/Images/{imageType}":
    get:
      operationId: GetMusicGenreImage
      parameters:
        - description: Music genre name.
          in: path
          name: name
          required: true
          schema:
            description: Music genre name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get music genre image by name.
      tags:
        - Image
    head:
      operationId: HeadMusicGenreImage
      parameters:
        - description: Music genre name.
          in: path
          name: name
          required: true
          schema:
            description: Music genre name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get music genre image by name.
      tags:
        - Image
  "/MusicGenres/{name}/Images/{imageType}/{imageIndex}":
    get:
      operationId: GetMusicGenreImageByIndex
      parameters:
        - description: Music genre name.
          in: path
          name: name
          required: true
          schema:
            description: Music genre name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get music genre image by name.
      tags:
        - Image
    head:
      operationId: HeadMusicGenreImageByIndex
      parameters:
        - description: Music genre name.
          in: path
          name: name
          required: true
          schema:
            description: Music genre name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get music genre image by name.
      tags:
        - Image
  "/MusicGenres/{name}/InstantMix":
    get:
      operationId: GetInstantMixFromMusicGenre
      parameters:
        - description: The genre name.
          in: path
          name: name
          required: true
          schema:
            description: The genre name.
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Instant playlist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates an instant playlist based on a given song.
      tags:
        - InstantMix
  /Notifications/Admin:
    post:
      operationId: CreateAdminNotification
      parameters:
        - description: The URL of the notification.
          in: query
          name: url
          schema:
            description: The URL of the notification.
            nullable: true
            type: string
        - description: The level of the notification.
          in: query
          name: level
          schema:
            $ref: "#/components/schemas/NotificationLevel"
        - description: The name of the notification.
          in: query
          name: name
          schema:
            default: ""
            description: The name of the notification.
            nullable: true
            type: string
        - description: The description of the notification.
          in: query
          name: description
          schema:
            default: ""
            description: The description of the notification.
            nullable: true
            type: string
      responses:
        "204":
          description: Notification sent.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Sends a notification to all admins.
      tags:
        - Notifications
  /Notifications/Services:
    get:
      operationId: GetNotificationServices
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/NameIdPair"
                type: array
          description: All notification services returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets notification services.
      tags:
        - Notifications
  /Notifications/Types:
    get:
      operationId: GetNotificationTypes
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/NotificationTypeInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/NotificationTypeInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/NotificationTypeInfo"
                type: array
          description: All notification types returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets notification types.
      tags:
        - Notifications
  "/Notifications/{userId}":
    get:
      operationId: GetNotifications
      parameters:
        - in: path
          name: userId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotificationResultDto"
            application/json; profile="CamelCase":
              schema:
                $ref: "#/components/schemas/NotificationResultDto"
            application/json; profile="PascalCase":
              schema:
                $ref: "#/components/schemas/NotificationResultDto"
          description: Notifications returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a user's notifications.
      tags:
        - Notifications
  "/Notifications/{userId}/Read":
    post:
      operationId: SetRead
      parameters:
        - in: path
          name: userId
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Notifications set as read.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Sets notifications as read.
      tags:
        - Notifications
  "/Notifications/{userId}/Summary":
    get:
      operationId: GetNotificationsSummary
      parameters:
        - in: path
          name: userId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotificationsSummaryDto"
            application/json; profile="CamelCase":
              schema:
                $ref: "#/components/schemas/NotificationsSummaryDto"
            application/json; profile="PascalCase":
              schema:
                $ref: "#/components/schemas/NotificationsSummaryDto"
          description: Summary of user's notifications returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a user's notification summary.
      tags:
        - Notifications
  "/Notifications/{userId}/Unread":
    post:
      operationId: SetUnread
      parameters:
        - in: path
          name: userId
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Notifications set as unread.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Sets notifications as unread.
      tags:
        - Notifications
  /Packages:
    get:
      operationId: GetPackages
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/PackageInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/PackageInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/PackageInfo"
                type: array
          description: Available packages returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets available packages.
      tags:
        - Package
  "/Packages/Installed/{name}":
    post:
      operationId: InstallPackage
      parameters:
        - description: Package name.
          in: path
          name: name
          required: true
          schema:
            description: Package name.
            type: string
        - description: GUID of the associated assembly.
          in: query
          name: assemblyGuid
          schema:
            description: GUID of the associated assembly.
            format: uuid
            nullable: true
            type: string
        - description: Optional version. Defaults to latest version.
          in: query
          name: version
          schema:
            description: Optional version. Defaults to latest version.
            nullable: true
            type: string
        - description: Optional. Specify the repository to install from.
          in: query
          name: repositoryUrl
          schema:
            description: Optional. Specify the repository to install from.
            nullable: true
            type: string
      responses:
        "204":
          description: Package found.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Package not found.
      security:
        - CustomAuthentication: []
      summary: Installs a package.
      tags:
        - Package
  "/Packages/Installing/{packageId}":
    delete:
      operationId: CancelPackageInstallation
      parameters:
        - description: Installation Id.
          in: path
          name: packageId
          required: true
          schema:
            description: Installation Id.
            format: uuid
            type: string
      responses:
        "204":
          description: Installation cancelled.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Cancels a package installation.
      tags:
        - Package
  "/Packages/{name}":
    get:
      operationId: GetPackageInfo
      parameters:
        - description: The name of the package.
          in: path
          name: name
          required: true
          schema:
            description: The name of the package.
            type: string
        - description: The GUID of the associated assembly.
          in: query
          name: assemblyGuid
          schema:
            description: The GUID of the associated assembly.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Package retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a package by name or assembly GUID.
      tags:
        - Package
  /Persons:
    get:
      operationId: GetPersons
      parameters:
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: The search term.
          in: query
          name: searchTerm
          schema:
            description: The search term.
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Specify additional filters to apply.
          in: query
          name: filters
          schema:
            description: Optional. Specify additional filters to apply.
            items:
              $ref: "#/components/schemas/ItemFilter"
            nullable: true
            type: array
        - description: Optional filter by items that are marked as favorite, or not. userId is required.
          in: query
          name: isFavorite
          schema:
            description: Optional filter by items that are marked as favorite, or not. userId is required.
            nullable: true
            type: boolean
        - description: Optional, include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional, include user data.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. If specified results will be filtered to exclude those containing the specified PersonType. Allows multiple, comma-delimited.
          in: query
          name: excludePersonTypes
          schema:
            description: Optional. If specified results will be filtered to exclude those containing the specified PersonType. Allows multiple, comma-delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified results will be filtered to include only those containing the specified PersonType. Allows multiple, comma-delimited.
          in: query
          name: personTypes
          schema:
            description: Optional. If specified results will be filtered to include only those containing the specified PersonType. Allows multiple, comma-delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, person results will be filtered on items related to said persons.
          in: query
          name: appearsInItemId
          schema:
            description: Optional. If specified, person results will be filtered on items related to said persons.
            format: uuid
            nullable: true
            type: string
        - description: User id.
          in: query
          name: userId
          schema:
            description: User id.
            format: uuid
            nullable: true
            type: string
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional, include image information in output.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Persons returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all persons.
      tags:
        - Persons
  "/Persons/{name}":
    get:
      operationId: GetPerson
      parameters:
        - description: Person name.
          in: path
          name: name
          required: true
          schema:
            description: Person name.
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Person returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Person not found.
      security:
        - CustomAuthentication: []
      summary: Get person by name.
      tags:
        - Persons
  "/Persons/{name}/Images/{imageType}":
    get:
      operationId: GetPersonImage
      parameters:
        - description: Person name.
          in: path
          name: name
          required: true
          schema:
            description: Person name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get person image by name.
      tags:
        - Image
    head:
      operationId: HeadPersonImage
      parameters:
        - description: Person name.
          in: path
          name: name
          required: true
          schema:
            description: Person name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get person image by name.
      tags:
        - Image
  "/Persons/{name}/Images/{imageType}/{imageIndex}":
    get:
      operationId: GetPersonImageByIndex
      parameters:
        - description: Person name.
          in: path
          name: name
          required: true
          schema:
            description: Person name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get person image by name.
      tags:
        - Image
    head:
      operationId: HeadPersonImageByIndex
      parameters:
        - description: Person name.
          in: path
          name: name
          required: true
          schema:
            description: Person name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get person image by name.
      tags:
        - Image
  /Playback/BitrateTest:
    get:
      operationId: GetBitrateTestBytes
      parameters:
        - description: The bitrate. Defaults to 102400.
          in: query
          name: size
          schema:
            default: 102400
            description: The bitrate. Defaults to 102400.
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                format: binary
                type: string
          description: Test buffer returned.
        "400":
          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"
            application/octet-stream:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Size has to be a numer between 0 and 10,000,000.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Tests the network with a request with the size of the bitrate.
      tags:
        - MediaInfo
  /Playlists:
    post:
      description: For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence.
      operationId: CreatePlaylist
      parameters:
        - description: The playlist name.
          in: query
          name: name
          schema:
            description: The playlist name.
            nullable: true
            type: string
        - description: The item ids.
          in: query
          name: ids
          schema:
            description: The item ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: The user id.
          in: query
          name: userId
          schema:
            description: The user id.
            format: uuid
            nullable: true
            type: string
        - description: The media type.
          in: query
          name: mediaType
          schema:
            description: The media type.
            nullable: true
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreatePlaylistDto"
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePlaylistDto"
          text/json:
            schema:
              $ref: "#/components/schemas/CreatePlaylistDto"
        description: The create playlist payload.
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates a new playlist.
      tags:
        - Playlists
  "/Playlists/{id}/InstantMix":
    get:
      operationId: GetInstantMixFromPlaylist
      parameters:
        - description: The item id.
          in: path
          name: id
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Instant playlist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates an instant playlist based on a given song.
      tags:
        - InstantMix
  "/Playlists/{playlistId}/Items":
    delete:
      operationId: RemoveFromPlaylist
      parameters:
        - description: The playlist id.
          in: path
          name: playlistId
          required: true
          schema:
            description: The playlist id.
            type: string
        - description: The item ids, comma delimited.
          in: query
          name: entryIds
          schema:
            description: The item ids, comma delimited.
            items:
              type: string
            nullable: true
            type: array
      responses:
        "204":
          description: Items removed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Removes items from a playlist.
      tags:
        - Playlists
    get:
      operationId: GetPlaylistItems
      parameters:
        - description: The playlist id.
          in: path
          name: playlistId
          required: true
          schema:
            description: The playlist id.
            format: uuid
            type: string
        - description: User id.
          in: query
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Original playlist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Playlist not found.
      security:
        - CustomAuthentication: []
      summary: Gets the original items of a playlist.
      tags:
        - Playlists
    post:
      operationId: AddToPlaylist
      parameters:
        - description: The playlist id.
          in: path
          name: playlistId
          required: true
          schema:
            description: The playlist id.
            format: uuid
            type: string
        - description: Item id, comma delimited.
          in: query
          name: ids
          schema:
            description: Item id, comma delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: The userId.
          in: query
          name: userId
          schema:
            description: The userId.
            format: uuid
            nullable: true
            type: string
      responses:
        "204":
          description: Items added to playlist.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Adds items to a playlist.
      tags:
        - Playlists
  "/Playlists/{playlistId}/Items/{itemId}/Move/{newIndex}":
    post:
      operationId: MoveItem
      parameters:
        - description: The playlist id.
          in: path
          name: playlistId
          required: true
          schema:
            description: The playlist id.
            type: string
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            type: string
        - description: The new index.
          in: path
          name: newIndex
          required: true
          schema:
            description: The new index.
            format: int32
            type: integer
      responses:
        "204":
          description: Item moved to new index.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Moves a playlist item.
      tags:
        - Playlists
  /Plugins:
    get:
      operationId: GetPlugins
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/PluginInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/PluginInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/PluginInfo"
                type: array
          description: Installed plugins returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a list of currently installed plugins.
      tags:
        - Plugins
  /Plugins/SecurityInfo:
    post:
      deprecated: true
      operationId: UpdatePluginSecurityInfo
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PluginSecurityInfo"
          application/json:
            schema:
              $ref: "#/components/schemas/PluginSecurityInfo"
          text/json:
            schema:
              $ref: "#/components/schemas/PluginSecurityInfo"
        description: Plugin security info.
        required: true
      responses:
        "204":
          description: Plugin security info updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates plugin security info.
      tags:
        - Plugins
  "/Plugins/{pluginId}":
    delete:
      deprecated: true
      operationId: UninstallPlugin
      parameters:
        - description: Plugin id.
          in: path
          name: pluginId
          required: true
          schema:
            description: Plugin id.
            format: uuid
            type: string
      responses:
        "204":
          description: Plugin uninstalled.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Plugin not found.
      security:
        - CustomAuthentication: []
      summary: Uninstalls a plugin.
      tags:
        - Plugins
  "/Plugins/{pluginId}/Configuration":
    get:
      operationId: GetPluginConfiguration
      parameters:
        - description: Plugin id.
          in: path
          name: pluginId
          required: true
          schema:
            description: Plugin id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Plugin configuration returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Plugin not found or plugin configuration not found.
      security:
        - CustomAuthentication: []
      summary: Gets plugin configuration.
      tags:
        - Plugins
    post:
      description: Accepts plugin configuration as JSON body.
      operationId: UpdatePluginConfiguration
      parameters:
        - description: Plugin id.
          in: path
          name: pluginId
          required: true
          schema:
            description: Plugin id.
            format: uuid
            type: string
      responses:
        "204":
          description: Plugin configuration updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Plugin not found or plugin does not have configuration.
      security:
        - CustomAuthentication: []
      summary: Updates plugin configuration.
      tags:
        - Plugins
  "/Plugins/{pluginId}/Manifest":
    post:
      operationId: GetPluginManifest
      parameters:
        - description: Plugin id.
          in: path
          name: pluginId
          required: true
          schema:
            description: Plugin id.
            format: uuid
            type: string
      responses:
        "204":
          description: Plugin manifest returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Plugin not found.
      security:
        - CustomAuthentication: []
      summary: Gets a plugin's manifest.
      tags:
        - Plugins
  "/Plugins/{pluginId}/{version}":
    delete:
      operationId: UninstallPluginByVersion
      parameters:
        - description: Plugin id.
          in: path
          name: pluginId
          required: true
          schema:
            description: Plugin id.
            format: uuid
            type: string
        - description: Plugin version.
          in: path
          name: version
          required: true
          schema:
            $ref: "#/components/schemas/Version"
      responses:
        "204":
          description: Plugin uninstalled.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Plugin not found.
      security:
        - CustomAuthentication: []
      summary: Uninstalls a plugin by version.
      tags:
        - Plugins
  "/Plugins/{pluginId}/{version}/Disable":
    post:
      operationId: DisablePlugin
      parameters:
        - description: Plugin id.
          in: path
          name: pluginId
          required: true
          schema:
            description: Plugin id.
            format: uuid
            type: string
        - description: Plugin version.
          in: path
          name: version
          required: true
          schema:
            $ref: "#/components/schemas/Version"
      responses:
        "204":
          description: Plugin disabled.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Plugin not found.
      security:
        - CustomAuthentication: []
      summary: Disable a plugin.
      tags:
        - Plugins
  "/Plugins/{pluginId}/{version}/Enable":
    post:
      operationId: EnablePlugin
      parameters:
        - description: Plugin id.
          in: path
          name: pluginId
          required: true
          schema:
            description: Plugin id.
            format: uuid
            type: string
        - description: Plugin version.
          in: path
          name: version
          required: true
          schema:
            $ref: "#/components/schemas/Version"
      responses:
        "204":
          description: Plugin enabled.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Plugin not found.
      security:
        - CustomAuthentication: []
      summary: Enables a disabled plugin.
      tags:
        - Plugins
  "/Plugins/{pluginId}/{version}/Image":
    get:
      operationId: GetPluginImage
      parameters:
        - description: Plugin id.
          in: path
          name: pluginId
          required: true
          schema:
            description: Plugin id.
            format: uuid
            type: string
        - description: Plugin version.
          in: path
          name: version
          required: true
          schema:
            $ref: "#/components/schemas/Version"
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Plugin image returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Not Found
      security:
        - CustomAuthentication: []
      summary: Gets a plugin's image.
      tags:
        - Plugins
  "/Providers/Subtitles/Subtitles/{id}":
    get:
      operationId: GetRemoteSubtitles
      parameters:
        - description: The item id.
          in: path
          name: id
          required: true
          schema:
            description: The item id.
            type: string
      responses:
        "200":
          content:
            text/*:
              schema:
                format: binary
                type: string
          description: File returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the remote subtitles.
      tags:
        - Subtitle
  /QuickConnect/Activate:
    post:
      operationId: Activate
      responses:
        "204":
          description: Quick connect has been temporarily activated.
        "401":
          description: Unauthorized
        "403":
          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"
          description: Quick connect is unavailable on this server.
      security:
        - CustomAuthentication: []
      summary: Temporarily activates quick connect for five minutes.
      tags:
        - QuickConnect
  /QuickConnect/Authorize:
    post:
      operationId: Authorize
      parameters:
        - description: Quick connect code to authorize.
          in: query
          name: code
          required: true
          schema:
            description: Quick connect code to authorize.
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: boolean
            application/json; profile="CamelCase":
              schema:
                type: boolean
            application/json; profile="PascalCase":
              schema:
                type: boolean
          description: Quick connect result authorized successfully.
        "401":
          description: Unauthorized
        "403":
          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"
          description: Unknown user id.
      security:
        - CustomAuthentication: []
      summary: Authorizes a pending quick connect request.
      tags:
        - QuickConnect
  /QuickConnect/Available:
    post:
      operationId: Available
      parameters:
        - description: New MediaBrowser.Model.QuickConnect.QuickConnectState.
          in: query
          name: status
          schema:
            $ref: "#/components/schemas/QuickConnectState"
      responses:
        "204":
          description: Quick connect state set successfully.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Enables or disables quick connect.
      tags:
        - QuickConnect
  /QuickConnect/Connect:
    get:
      operationId: Connect
      parameters:
        - description: Secret previously returned from the Initiate endpoint.
          in: query
          name: secret
          required: true
          schema:
            description: Secret previously returned from the Initiate endpoint.
            type: string
      responses:
        "200":
          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"
          description: Quick connect result returned.
        "404":
          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"
          description: Unknown quick connect secret.
      summary: Attempts to retrieve authentication information.
      tags:
        - QuickConnect
  /QuickConnect/Deauthorize:
    post:
      operationId: Deauthorize
      responses:
        "200":
          content:
            application/json:
              schema:
                format: int32
                type: integer
            application/json; profile="CamelCase":
              schema:
                format: int32
                type: integer
            application/json; profile="PascalCase":
              schema:
                format: int32
                type: integer
          description: All quick connect devices were deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Deauthorize all quick connect devices for the current user.
      tags:
        - QuickConnect
  /QuickConnect/Initiate:
    get:
      operationId: Initiate
      responses:
        "200":
          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"
          description: Quick connect request successfully created.
        "401":
          description: Quick connect is not active on this server.
      summary: Initiate a new quick connect request.
      tags:
        - QuickConnect
  /QuickConnect/Status:
    get:
      operationId: GetStatus
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/QuickConnectState"
            application/json; profile="CamelCase":
              schema:
                $ref: "#/components/schemas/QuickConnectState"
            application/json; profile="PascalCase":
              schema:
                $ref: "#/components/schemas/QuickConnectState"
          description: Quick connect state returned.
      summary: Gets the current quick connect state.
      tags:
        - QuickConnect
  /Repositories:
    get:
      operationId: GetRepositories
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/RepositoryInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/RepositoryInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/RepositoryInfo"
                type: array
          description: Package repositories returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all package repositories.
      tags:
        - Package
    post:
      operationId: SetRepositories
      requestBody:
        content:
          application/*+json:
            schema:
              description: The list of package repositories.
              items:
                $ref: "#/components/schemas/RepositoryInfo"
              nullable: true
              type: array
          application/json:
            schema:
              description: The list of package repositories.
              items:
                $ref: "#/components/schemas/RepositoryInfo"
              nullable: true
              type: array
          text/json:
            schema:
              description: The list of package repositories.
              items:
                $ref: "#/components/schemas/RepositoryInfo"
              nullable: true
              type: array
        description: The list of package repositories.
      responses:
        "204":
          description: Package repositories saved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Sets the enabled and existing package repositories.
      tags:
        - Package
  /ScheduledTasks:
    get:
      operationId: GetTasks
      parameters:
        - description: Optional filter tasks that are hidden, or not.
          in: query
          name: isHidden
          schema:
            description: Optional filter tasks that are hidden, or not.
            nullable: true
            type: boolean
        - description: Optional filter tasks that are enabled, or not.
          in: query
          name: isEnabled
          schema:
            description: Optional filter tasks that are enabled, or not.
            nullable: true
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/TaskInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/TaskInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/TaskInfo"
                type: array
          description: Scheduled tasks retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get tasks.
      tags:
        - ScheduledTasks
  "/ScheduledTasks/Running/{taskId}":
    delete:
      operationId: StopTask
      parameters:
        - description: Task Id.
          in: path
          name: taskId
          required: true
          schema:
            description: Task Id.
            type: string
      responses:
        "204":
          description: Task stopped.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Task not found.
      security:
        - CustomAuthentication: []
      summary: Stop specified task.
      tags:
        - ScheduledTasks
    post:
      operationId: StartTask
      parameters:
        - description: Task Id.
          in: path
          name: taskId
          required: true
          schema:
            description: Task Id.
            type: string
      responses:
        "204":
          description: Task started.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Task not found.
      security:
        - CustomAuthentication: []
      summary: Start specified task.
      tags:
        - ScheduledTasks
  "/ScheduledTasks/{taskId}":
    get:
      operationId: GetTask
      parameters:
        - description: Task Id.
          in: path
          name: taskId
          required: true
          schema:
            description: Task Id.
            type: string
      responses:
        "200":
          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"
          description: Task retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Task not found.
      security:
        - CustomAuthentication: []
      summary: Get task by id.
      tags:
        - ScheduledTasks
  "/ScheduledTasks/{taskId}/Triggers":
    post:
      operationId: UpdateTask
      parameters:
        - description: Task Id.
          in: path
          name: taskId
          required: true
          schema:
            description: Task Id.
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              description: Triggers.
              items:
                $ref: "#/components/schemas/TaskTriggerInfo"
              type: array
          application/json:
            schema:
              description: Triggers.
              items:
                $ref: "#/components/schemas/TaskTriggerInfo"
              type: array
          text/json:
            schema:
              description: Triggers.
              items:
                $ref: "#/components/schemas/TaskTriggerInfo"
              type: array
        description: Triggers.
        required: true
      responses:
        "204":
          description: Task triggers updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Task not found.
      security:
        - CustomAuthentication: []
      summary: Update specified task triggers.
      tags:
        - ScheduledTasks
  /Search/Hints:
    get:
      operationId: Get
      parameters:
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Supply a user id to search within a user's library or omit to search all.
          in: query
          name: userId
          schema:
            description: Optional. Supply a user id to search within a user's library or omit to search all.
            format: uuid
            nullable: true
            type: string
        - description: The search term to filter on.
          in: query
          name: searchTerm
          required: true
          schema:
            description: The search term to filter on.
            type: string
        - description: If specified, only results with the specified item types are returned. This allows multiple, comma delimeted.
          in: query
          name: includeItemTypes
          schema:
            description: If specified, only results with the specified item types are returned. This allows multiple, comma delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: If specified, results with these item types are filtered out. This allows multiple, comma delimeted.
          in: query
          name: excludeItemTypes
          schema:
            description: If specified, results with these item types are filtered out. This allows multiple, comma delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: If specified, only results with the specified media types are returned. This allows multiple, comma delimeted.
          in: query
          name: mediaTypes
          schema:
            description: If specified, only results with the specified media types are returned. This allows multiple, comma delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: If specified, only children of the parent are returned.
          in: query
          name: parentId
          schema:
            description: If specified, only children of the parent are returned.
            format: uuid
            nullable: true
            type: string
        - description: Optional filter for movies.
          in: query
          name: isMovie
          schema:
            description: Optional filter for movies.
            nullable: true
            type: boolean
        - description: Optional filter for series.
          in: query
          name: isSeries
          schema:
            description: Optional filter for series.
            nullable: true
            type: boolean
        - description: Optional filter for news.
          in: query
          name: isNews
          schema:
            description: Optional filter for news.
            nullable: true
            type: boolean
        - description: Optional filter for kids.
          in: query
          name: isKids
          schema:
            description: Optional filter for kids.
            nullable: true
            type: boolean
        - description: Optional filter for sports.
          in: query
          name: isSports
          schema:
            description: Optional filter for sports.
            nullable: true
            type: boolean
        - description: Optional filter whether to include people.
          in: query
          name: includePeople
          schema:
            default: true
            description: Optional filter whether to include people.
            type: boolean
        - description: Optional filter whether to include media.
          in: query
          name: includeMedia
          schema:
            default: true
            description: Optional filter whether to include media.
            type: boolean
        - description: Optional filter whether to include genres.
          in: query
          name: includeGenres
          schema:
            default: true
            description: Optional filter whether to include genres.
            type: boolean
        - description: Optional filter whether to include studios.
          in: query
          name: includeStudios
          schema:
            default: true
            description: Optional filter whether to include studios.
            type: boolean
        - description: Optional filter whether to include artists.
          in: query
          name: includeArtists
          schema:
            default: true
            description: Optional filter whether to include artists.
            type: boolean
      responses:
        "200":
          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"
          description: Search hint returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the search hint result.
      tags:
        - Search
  /Sessions:
    get:
      operationId: GetSessions
      parameters:
        - description: Filter by sessions that a given user is allowed to remote control.
          in: query
          name: controllableByUserId
          schema:
            description: Filter by sessions that a given user is allowed to remote control.
            format: uuid
            nullable: true
            type: string
        - description: Filter by device Id.
          in: query
          name: deviceId
          schema:
            description: Filter by device Id.
            nullable: true
            type: string
        - description: Optional. Filter by sessions that were active in the last n seconds.
          in: query
          name: activeWithinSeconds
          schema:
            description: Optional. Filter by sessions that were active in the last n seconds.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/SessionInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/SessionInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/SessionInfo"
                type: array
          description: List of sessions returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a list of sessions.
      tags:
        - Session
  /Sessions/Capabilities:
    post:
      operationId: PostCapabilities
      parameters:
        - description: The session id.
          in: query
          name: id
          schema:
            description: The session id.
            nullable: true
            type: string
        - description: A list of playable media types, comma delimited. Audio, Video, Book, Photo.
          in: query
          name: playableMediaTypes
          schema:
            description: A list of playable media types, comma delimited. Audio, Video, Book, Photo.
            items:
              type: string
            nullable: true
            type: array
        - description: A list of supported remote control commands, comma delimited.
          in: query
          name: supportedCommands
          schema:
            description: A list of supported remote control commands, comma delimited.
            items:
              $ref: "#/components/schemas/GeneralCommandType"
            nullable: true
            type: array
        - description: Determines whether media can be played remotely..
          in: query
          name: supportsMediaControl
          schema:
            default: false
            description: Determines whether media can be played remotely..
            type: boolean
        - description: Determines whether sync is supported.
          in: query
          name: supportsSync
          schema:
            default: false
            description: Determines whether sync is supported.
            type: boolean
        - description: Determines whether the device supports a unique identifier.
          in: query
          name: supportsPersistentIdentifier
          schema:
            default: true
            description: Determines whether the device supports a unique identifier.
            type: boolean
      responses:
        "204":
          description: Capabilities posted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates capabilities for a device.
      tags:
        - Session
  /Sessions/Capabilities/Full:
    post:
      operationId: PostFullCapabilities
      parameters:
        - description: The session id.
          in: query
          name: id
          schema:
            description: The session id.
            nullable: true
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ClientCapabilitiesDto"
          application/json:
            schema:
              $ref: "#/components/schemas/ClientCapabilitiesDto"
          text/json:
            schema:
              $ref: "#/components/schemas/ClientCapabilitiesDto"
        description: The MediaBrowser.Model.Session.ClientCapabilities.
        required: true
      responses:
        "204":
          description: Capabilities updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates capabilities for a device.
      tags:
        - Session
  /Sessions/Logout:
    post:
      operationId: ReportSessionEnded
      responses:
        "204":
          description: Session end reported to server.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports that a session has ended.
      tags:
        - Session
  /Sessions/Playing:
    post:
      operationId: ReportPlaybackStart
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlaybackStartInfo"
          application/json:
            schema:
              $ref: "#/components/schemas/PlaybackStartInfo"
          text/json:
            schema:
              $ref: "#/components/schemas/PlaybackStartInfo"
        description: The playback start info.
      responses:
        "204":
          description: Playback start recorded.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports playback has started within a session.
      tags:
        - Playstate
  /Sessions/Playing/Ping:
    post:
      operationId: PingPlaybackSession
      parameters:
        - description: Playback session id.
          in: query
          name: playSessionId
          schema:
            description: Playback session id.
            nullable: true
            type: string
      responses:
        "204":
          description: Playback session pinged.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Pings a playback session.
      tags:
        - Playstate
  /Sessions/Playing/Progress:
    post:
      operationId: ReportPlaybackProgress
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlaybackProgressInfo"
          application/json:
            schema:
              $ref: "#/components/schemas/PlaybackProgressInfo"
          text/json:
            schema:
              $ref: "#/components/schemas/PlaybackProgressInfo"
        description: The playback progress info.
      responses:
        "204":
          description: Playback progress recorded.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports playback progress within a session.
      tags:
        - Playstate
  /Sessions/Playing/Stopped:
    post:
      operationId: ReportPlaybackStopped
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlaybackStopInfo"
          application/json:
            schema:
              $ref: "#/components/schemas/PlaybackStopInfo"
          text/json:
            schema:
              $ref: "#/components/schemas/PlaybackStopInfo"
        description: The playback stop info.
      responses:
        "204":
          description: Playback stop recorded.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports playback has stopped within a session.
      tags:
        - Playstate
  /Sessions/Viewing:
    post:
      operationId: ReportViewing
      parameters:
        - description: The session id.
          in: query
          name: sessionId
          schema:
            description: The session id.
            nullable: true
            type: string
        - description: The item id.
          in: query
          name: itemId
          required: true
          schema:
            description: The item id.
            type: string
      responses:
        "204":
          description: Session reported to server.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports that a session is viewing an item.
      tags:
        - Session
  "/Sessions/{sessionId}/Command":
    post:
      operationId: SendFullGeneralCommand
      parameters:
        - description: The session id.
          in: path
          name: sessionId
          required: true
          schema:
            description: The session id.
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/GeneralCommand"
          application/json:
            schema:
              $ref: "#/components/schemas/GeneralCommand"
          text/json:
            schema:
              $ref: "#/components/schemas/GeneralCommand"
        description: The MediaBrowser.Model.Session.GeneralCommand.
        required: true
      responses:
        "204":
          description: Full general command sent to session.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Issues a full general command to a client.
      tags:
        - Session
  "/Sessions/{sessionId}/Command/{command}":
    post:
      operationId: SendGeneralCommand
      parameters:
        - description: The session id.
          in: path
          name: sessionId
          required: true
          schema:
            description: The session id.
            type: string
        - description: The command to send.
          in: path
          name: command
          required: true
          schema:
            $ref: "#/components/schemas/GeneralCommandType"
      responses:
        "204":
          description: General command sent to session.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Issues a general command to a client.
      tags:
        - Session
  "/Sessions/{sessionId}/Message":
    post:
      operationId: SendMessageCommand
      parameters:
        - description: The session id.
          in: path
          name: sessionId
          required: true
          schema:
            description: The session id.
            type: string
        - description: The message test.
          in: query
          name: text
          required: true
          schema:
            description: The message test.
            type: string
        - description: The message header.
          in: query
          name: header
          schema:
            description: The message header.
            nullable: true
            type: string
        - description: The message timeout. If omitted the user will have to confirm viewing the message.
          in: query
          name: timeoutMs
          schema:
            description: The message timeout. If omitted the user will have to confirm viewing the message.
            format: int64
            nullable: true
            type: integer
      responses:
        "204":
          description: Message sent.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Issues a command to a client to display a message to the user.
      tags:
        - Session
  "/Sessions/{sessionId}/Playing":
    post:
      operationId: Play
      parameters:
        - description: The session id.
          in: path
          name: sessionId
          required: true
          schema:
            description: The session id.
            type: string
        - 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.
          in: query
          name: playCommand
          required: true
          schema:
            $ref: "#/components/schemas/PlayCommand"
        - description: The ids of the items to play, comma delimited.
          in: query
          name: itemIds
          required: true
          schema:
            description: The ids of the items to play, comma delimited.
            items:
              format: uuid
              type: string
            type: array
        - description: The starting position of the first item.
          in: query
          name: startPositionTicks
          schema:
            description: The starting position of the first item.
            format: int64
            nullable: true
            type: integer
      responses:
        "204":
          description: Instruction sent to session.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Instructs a session to play an item.
      tags:
        - Session
  "/Sessions/{sessionId}/Playing/{command}":
    post:
      operationId: SendPlaystateCommand
      parameters:
        - description: The session id.
          in: path
          name: sessionId
          required: true
          schema:
            description: The session id.
            type: string
        - description: The MediaBrowser.Model.Session.PlaystateCommand.
          in: path
          name: command
          required: true
          schema:
            $ref: "#/components/schemas/PlaystateCommand"
        - description: The optional position ticks.
          in: query
          name: seekPositionTicks
          schema:
            description: The optional position ticks.
            format: int64
            nullable: true
            type: integer
        - description: The optional controlling user id.
          in: query
          name: controllingUserId
          schema:
            description: The optional controlling user id.
            nullable: true
            type: string
      responses:
        "204":
          description: Playstate command sent to session.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Issues a playstate command to a client.
      tags:
        - Session
  "/Sessions/{sessionId}/System/{command}":
    post:
      operationId: SendSystemCommand
      parameters:
        - description: The session id.
          in: path
          name: sessionId
          required: true
          schema:
            description: The session id.
            type: string
        - description: The command to send.
          in: path
          name: command
          required: true
          schema:
            $ref: "#/components/schemas/GeneralCommandType"
      responses:
        "204":
          description: System command sent to session.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Issues a system command to a client.
      tags:
        - Session
  "/Sessions/{sessionId}/User/{userId}":
    delete:
      operationId: RemoveUserFromSession
      parameters:
        - description: The session id.
          in: path
          name: sessionId
          required: true
          schema:
            description: The session id.
            type: string
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      responses:
        "204":
          description: User removed from session.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Removes an additional user from a session.
      tags:
        - Session
    post:
      operationId: AddUserToSession
      parameters:
        - description: The session id.
          in: path
          name: sessionId
          required: true
          schema:
            description: The session id.
            type: string
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      responses:
        "204":
          description: User added to session.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Adds an additional user to a session.
      tags:
        - Session
  "/Sessions/{sessionId}/Viewing":
    post:
      operationId: DisplayContent
      parameters:
        - description: The session Id.
          in: path
          name: sessionId
          required: true
          schema:
            description: The session Id.
            type: string
        - description: The type of item to browse to.
          in: query
          name: itemType
          required: true
          schema:
            description: The type of item to browse to.
            type: string
        - description: The Id of the item.
          in: query
          name: itemId
          required: true
          schema:
            description: The Id of the item.
            type: string
        - description: The name of the item.
          in: query
          name: itemName
          required: true
          schema:
            description: The name of the item.
            type: string
      responses:
        "204":
          description: Instruction sent to session.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Instructs a session to browse to an item or view.
      tags:
        - Session
  /Shows/NextUp:
    get:
      operationId: GetNextUp
      parameters:
        - description: The user id of the user to get the next up episodes for.
          in: query
          name: userId
          schema:
            description: The user id of the user to get the next up episodes for.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Filter by series id.
          in: query
          name: seriesId
          schema:
            description: Optional. Filter by series id.
            nullable: true
            type: string
        - description: Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Include image information in output.
          in: query
          name: enableImges
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Whether to enable the total records count. Defaults to true.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Whether to enable the total records count. Defaults to true.
            type: boolean
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a list of next up episodes.
      tags:
        - TvShows
  /Shows/Upcoming:
    get:
      operationId: GetUpcomingEpisodes
      parameters:
        - description: The user id of the user to get the upcoming episodes for.
          in: query
          name: userId
          schema:
            description: The user id of the user to get the upcoming episodes for.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Include image information in output.
          in: query
          name: enableImges
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a list of upcoming episodes.
      tags:
        - TvShows
  "/Shows/{itemId}/Similar":
    get:
      operationId: GetSimilarShows
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Exclude artist ids.
          in: query
          name: excludeArtistIds
          schema:
            description: Exclude artist ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Similar items returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets similar items.
      tags:
        - Library
  "/Shows/{seriesId}/Episodes":
    get:
      operationId: GetEpisodes
      parameters:
        - description: The series id.
          in: path
          name: seriesId
          required: true
          schema:
            description: The series id.
            format: uuid
            type: string
        - description: The user id.
          in: query
          name: userId
          schema:
            description: The user id.
            format: uuid
            nullable: true
            type: string
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional filter by season number.
          in: query
          name: season
          schema:
            description: Optional filter by season number.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by season id.
          in: query
          name: seasonId
          schema:
            description: Optional. Filter by season id.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Filter by items that are missing episodes or not.
          in: query
          name: isMissing
          schema:
            description: Optional. Filter by items that are missing episodes or not.
            nullable: true
            type: boolean
        - description: Optional. Return items that are siblings of a supplied item.
          in: query
          name: adjacentTo
          schema:
            description: Optional. Return items that are siblings of a supplied item.
            nullable: true
            type: string
        - description: Optional. Skip through the list until a given item is found.
          in: query
          name: startItemId
          schema:
            description: Optional. Skip through the list until a given item is found.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional, include image information in output.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - 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."
          in: query
          name: sortBy
          schema:
            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."
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Not Found
      security:
        - CustomAuthentication: []
      summary: Gets episodes for a tv season.
      tags:
        - TvShows
  "/Shows/{seriesId}/Seasons":
    get:
      operationId: GetSeasons
      parameters:
        - description: The series id.
          in: path
          name: seriesId
          required: true
          schema:
            description: The series id.
            format: uuid
            type: string
        - description: The user id.
          in: query
          name: userId
          schema:
            description: The user id.
            format: uuid
            nullable: true
            type: string
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Filter by special season.
          in: query
          name: isSpecialSeason
          schema:
            description: Optional. Filter by special season.
            nullable: true
            type: boolean
        - description: Optional. Filter by items that are missing episodes or not.
          in: query
          name: isMissing
          schema:
            description: Optional. Filter by items that are missing episodes or not.
            nullable: true
            type: boolean
        - description: Optional. Return items that are siblings of a supplied item.
          in: query
          name: adjacentTo
          schema:
            description: Optional. Return items that are siblings of a supplied item.
            nullable: true
            type: string
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Not Found
      security:
        - CustomAuthentication: []
      summary: Gets seasons for a tv series.
      tags:
        - TvShows
  "/Songs/{id}/InstantMix":
    get:
      operationId: GetInstantMixFromSong
      parameters:
        - description: The item id.
          in: path
          name: id
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Instant playlist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates an instant playlist based on a given song.
      tags:
        - InstantMix
  /Startup/Complete:
    post:
      operationId: CompleteWizard
      responses:
        "204":
          description: Startup wizard completed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Completes the startup wizard.
      tags:
        - Startup
  /Startup/Configuration:
    get:
      operationId: GetStartupConfiguration
      responses:
        "200":
          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"
          description: Initial startup wizard configuration retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the initial startup wizard configuration.
      tags:
        - Startup
    post:
      operationId: UpdateInitialConfiguration
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/StartupConfigurationDto"
          application/json:
            schema:
              $ref: "#/components/schemas/StartupConfigurationDto"
          text/json:
            schema:
              $ref: "#/components/schemas/StartupConfigurationDto"
        description: The updated startup configuration.
        required: true
      responses:
        "204":
          description: Configuration saved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Sets the initial startup wizard configuration.
      tags:
        - Startup
  /Startup/FirstUser:
    get:
      operationId: GetFirstUser_2
      responses:
        "200":
          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"
          description: Initial user retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the first user.
      tags:
        - Startup
  /Startup/RemoteAccess:
    post:
      operationId: SetRemoteAccess
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/StartupRemoteAccessDto"
          application/json:
            schema:
              $ref: "#/components/schemas/StartupRemoteAccessDto"
          text/json:
            schema:
              $ref: "#/components/schemas/StartupRemoteAccessDto"
        description: The startup remote access dto.
        required: true
      responses:
        "204":
          description: Configuration saved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Sets remote access and UPnP.
      tags:
        - Startup
  /Startup/User:
    get:
      operationId: GetFirstUser
      responses:
        "200":
          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"
          description: Initial user retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the first user.
      tags:
        - Startup
    post:
      operationId: UpdateStartupUser
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/StartupUserDto"
          application/json:
            schema:
              $ref: "#/components/schemas/StartupUserDto"
          text/json:
            schema:
              $ref: "#/components/schemas/StartupUserDto"
        description: The DTO containing username and password.
      responses:
        "204":
          description: Updated user name and password.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Sets the user name and password.
      tags:
        - Startup
  /Studios:
    get:
      operationId: GetStudios
      parameters:
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Search term.
          in: query
          name: searchTerm
          schema:
            description: Optional. Search term.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional filter by items that are marked as favorite, or not.
          in: query
          name: isFavorite
          schema:
            description: Optional filter by items that are marked as favorite, or not.
            nullable: true
            type: boolean
        - description: Optional, include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional, include user data.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: User id.
          in: query
          name: userId
          schema:
            description: User id.
            format: uuid
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally or greater than a given input string.
          in: query
          name: nameStartsWithOrGreater
          schema:
            description: Optional filter by items whose name is sorted equally or greater than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally than a given input string.
          in: query
          name: nameStartsWith
          schema:
            description: Optional filter by items whose name is sorted equally than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is equally or lesser than a given input string.
          in: query
          name: nameLessThan
          schema:
            description: Optional filter by items whose name is equally or lesser than a given input string.
            nullable: true
            type: string
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional, include image information in output.
            nullable: true
            type: boolean
        - description: Total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Studios returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all studios from a given item, folder, or the entire library.
      tags:
        - Studios
  "/Studios/{name}":
    get:
      operationId: GetStudio
      parameters:
        - description: Studio name.
          in: path
          name: name
          required: true
          schema:
            description: Studio name.
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Studio returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a studio by name.
      tags:
        - Studios
  "/Studios/{name}/Images/{imageType}":
    get:
      operationId: GetStudioImage
      parameters:
        - description: Studio name.
          in: path
          name: name
          required: true
          schema:
            description: Studio name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get studio image by name.
      tags:
        - Image
    head:
      operationId: HeadStudioImage
      parameters:
        - description: Studio name.
          in: path
          name: name
          required: true
          schema:
            description: Studio name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get studio image by name.
      tags:
        - Image
  "/Studios/{name}/Images/{imageType}/{imageIndex}":
    get:
      operationId: GetStudioImageByIndex
      parameters:
        - description: Studio name.
          in: path
          name: name
          required: true
          schema:
            description: Studio name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get studio image by name.
      tags:
        - Image
    head:
      operationId: HeadStudioImageByIndex
      parameters:
        - description: Studio name.
          in: path
          name: name
          required: true
          schema:
            description: Studio name.
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get studio image by name.
      tags:
        - Image
  /SyncPlay/Buffering:
    post:
      operationId: SyncPlayBuffering
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/BufferRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/BufferRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/BufferRequestDto"
        description: The player status.
        required: true
      responses:
        "204":
          description: Group state update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Notify SyncPlay group that member is buffering.
      tags:
        - SyncPlay
  /SyncPlay/Join:
    post:
      operationId: SyncPlayJoinGroup
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/JoinGroupRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/JoinGroupRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/JoinGroupRequestDto"
        description: The group to join.
        required: true
      responses:
        "204":
          description: Group join successful.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Join an existing SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/Leave:
    post:
      operationId: SyncPlayLeaveGroup
      responses:
        "204":
          description: Group leave successful.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Leave the joined SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/List:
    get:
      operationId: SyncPlayGetGroups
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/GroupInfoDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/GroupInfoDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/GroupInfoDto"
                type: array
          description: Groups returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets all SyncPlay groups.
      tags:
        - SyncPlay
  /SyncPlay/MovePlaylistItem:
    post:
      operationId: SyncPlayMovePlaylistItem
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/MovePlaylistItemRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/MovePlaylistItemRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/MovePlaylistItemRequestDto"
        description: The new position for the item.
        required: true
      responses:
        "204":
          description: Queue update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request to move an item in the playlist in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/New:
    post:
      operationId: SyncPlayCreateGroup
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NewGroupRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/NewGroupRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/NewGroupRequestDto"
        description: The settings of the new group.
        required: true
      responses:
        "204":
          description: New group created.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Create a new SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/NextItem:
    post:
      operationId: SyncPlayNextItem
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NextItemRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/NextItemRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/NextItemRequestDto"
        description: The current item information.
        required: true
      responses:
        "204":
          description: Next item update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request next item in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/Pause:
    post:
      operationId: SyncPlayPause
      responses:
        "204":
          description: Pause update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request pause in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/Ping:
    post:
      operationId: SyncPlayPing
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PingRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/PingRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/PingRequestDto"
        description: The new ping.
        required: true
      responses:
        "204":
          description: Ping updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Update session ping.
      tags:
        - SyncPlay
  /SyncPlay/PreviousItem:
    post:
      operationId: SyncPlayPreviousItem
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PreviousItemRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/PreviousItemRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/PreviousItemRequestDto"
        description: The current item information.
        required: true
      responses:
        "204":
          description: Previous item update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request previous item in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/Queue:
    post:
      operationId: SyncPlayQueue
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/QueueRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/QueueRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/QueueRequestDto"
        description: The items to add.
        required: true
      responses:
        "204":
          description: Queue update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request to queue items to the playlist of a SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/Ready:
    post:
      operationId: SyncPlayReady
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ReadyRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/ReadyRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/ReadyRequestDto"
        description: The player status.
        required: true
      responses:
        "204":
          description: Group state update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Notify SyncPlay group that member is ready for playback.
      tags:
        - SyncPlay
  /SyncPlay/RemoveFromPlaylist:
    post:
      operationId: SyncPlayRemoveFromPlaylist
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/RemoveFromPlaylistRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/RemoveFromPlaylistRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/RemoveFromPlaylistRequestDto"
        description: The items to remove.
        required: true
      responses:
        "204":
          description: Queue update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request to remove items from the playlist in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/Seek:
    post:
      operationId: SyncPlaySeek
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/SeekRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/SeekRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/SeekRequestDto"
        description: The new playback position.
        required: true
      responses:
        "204":
          description: Seek update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request seek in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/SetIgnoreWait:
    post:
      operationId: SyncPlaySetIgnoreWait
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/IgnoreWaitRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/IgnoreWaitRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/IgnoreWaitRequestDto"
        description: The settings to set.
        required: true
      responses:
        "204":
          description: Member state updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request SyncPlay group to ignore member during group-wait.
      tags:
        - SyncPlay
  /SyncPlay/SetNewQueue:
    post:
      operationId: SyncPlaySetNewQueue
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlayRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/PlayRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/PlayRequestDto"
        description: The new playlist to play in the group.
        required: true
      responses:
        "204":
          description: Queue update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request to set new playlist in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/SetPlaylistItem:
    post:
      operationId: SyncPlaySetPlaylistItem
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/SetPlaylistItemRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/SetPlaylistItemRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/SetPlaylistItemRequestDto"
        description: The new item to play.
        required: true
      responses:
        "204":
          description: Queue update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request to change playlist item in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/SetRepeatMode:
    post:
      operationId: SyncPlaySetRepeatMode
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/SetRepeatModeRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/SetRepeatModeRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/SetRepeatModeRequestDto"
        description: The new repeat mode.
        required: true
      responses:
        "204":
          description: Play queue update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request to set repeat mode in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/SetShuffleMode:
    post:
      operationId: SyncPlaySetShuffleMode
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/SetShuffleModeRequestDto"
          application/json:
            schema:
              $ref: "#/components/schemas/SetShuffleModeRequestDto"
          text/json:
            schema:
              $ref: "#/components/schemas/SetShuffleModeRequestDto"
        description: The new shuffle mode.
        required: true
      responses:
        "204":
          description: Play queue update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request to set shuffle mode in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/Stop:
    post:
      operationId: SyncPlayStop
      responses:
        "204":
          description: Stop update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request stop in SyncPlay group.
      tags:
        - SyncPlay
  /SyncPlay/Unpause:
    post:
      operationId: SyncPlayUnpause
      responses:
        "204":
          description: Unpause update sent to all group members.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Request unpause in SyncPlay group.
      tags:
        - SyncPlay
  /System/ActivityLog/Entries:
    get:
      operationId: GetLogEntries
      parameters:
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The minimum date. Format = ISO.
          in: query
          name: minDate
          schema:
            description: Optional. The minimum date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. Filter log entries if it has user id, or not.
          in: query
          name: hasUserId
          schema:
            description: Optional. Filter log entries if it has user id, or not.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Activity log returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets activity log entries.
      tags:
        - ActivityLog
  /System/Configuration:
    get:
      operationId: GetConfiguration
      responses:
        "200":
          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"
          description: Application configuration returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets application configuration.
      tags:
        - Configuration
    post:
      operationId: UpdateConfiguration
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ServerConfiguration"
          application/json:
            schema:
              $ref: "#/components/schemas/ServerConfiguration"
          text/json:
            schema:
              $ref: "#/components/schemas/ServerConfiguration"
        description: Configuration.
        required: true
      responses:
        "204":
          description: Configuration updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates application configuration.
      tags:
        - Configuration
  /System/Configuration/MetadataOptions/Default:
    get:
      operationId: GetDefaultMetadataOptions
      responses:
        "200":
          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"
          description: Metadata options returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a default MetadataOptions object.
      tags:
        - Configuration
  "/System/Configuration/{key}":
    get:
      operationId: GetNamedConfiguration
      parameters:
        - description: Configuration key.
          in: path
          name: key
          required: true
          schema:
            description: Configuration key.
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                format: binary
                type: string
          description: Configuration returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a named configuration.
      tags:
        - Configuration
    post:
      operationId: UpdateNamedConfiguration
      parameters:
        - description: Configuration key.
          in: path
          name: key
          required: true
          schema:
            description: Configuration key.
            type: string
      responses:
        "204":
          description: Named configuration updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates named configuration.
      tags:
        - Configuration
  /System/Endpoint:
    get:
      operationId: GetEndpointInfo
      responses:
        "200":
          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"
          description: Information retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets information about the request endpoint.
      tags:
        - System
  /System/Info:
    get:
      operationId: GetSystemInfo
      responses:
        "200":
          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"
          description: Information retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets information about the server.
      tags:
        - System
  /System/Info/Public:
    get:
      operationId: GetPublicSystemInfo
      responses:
        "200":
          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"
          description: Information retrieved.
      summary: Gets public information about the server.
      tags:
        - System
  /System/Logs:
    get:
      operationId: GetServerLogs
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/LogFile"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/LogFile"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/LogFile"
                type: array
          description: Information retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a list of available server log files.
      tags:
        - System
  /System/Logs/Log:
    get:
      operationId: GetLogFile
      parameters:
        - description: The name of the log file to get.
          in: query
          name: name
          required: true
          schema:
            description: The name of the log file to get.
            type: string
      responses:
        "200":
          content:
            text/plain:
              schema:
                format: binary
                type: string
          description: Log file retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a log file.
      tags:
        - System
  /System/MediaEncoder/Path:
    post:
      operationId: UpdateMediaEncoderPath
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/MediaEncoderPathDto"
          application/json:
            schema:
              $ref: "#/components/schemas/MediaEncoderPathDto"
          text/json:
            schema:
              $ref: "#/components/schemas/MediaEncoderPathDto"
        description: Media encoder path form body.
        required: true
      responses:
        "204":
          description: Media encoder path updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates the path to the media encoder.
      tags:
        - Configuration
  /System/Ping:
    get:
      operationId: GetPingSystem
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
            application/json; profile="CamelCase":
              schema:
                type: string
            application/json; profile="PascalCase":
              schema:
                type: string
          description: Information retrieved.
      summary: Pings the system.
      tags:
        - System
    post:
      operationId: PostPingSystem
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
            application/json; profile="CamelCase":
              schema:
                type: string
            application/json; profile="PascalCase":
              schema:
                type: string
          description: Information retrieved.
      summary: Pings the system.
      tags:
        - System
  /System/Restart:
    post:
      operationId: RestartApplication
      responses:
        "204":
          description: Server restarted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Restarts the application.
      tags:
        - System
  /System/Shutdown:
    post:
      operationId: ShutdownApplication
      responses:
        "204":
          description: Server shut down.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Shuts down the application.
      tags:
        - System
  /System/WakeOnLanInfo:
    get:
      operationId: GetWakeOnLanInfo
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/WakeOnLanInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/WakeOnLanInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/WakeOnLanInfo"
                type: array
          description: Information retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets wake on lan information.
      tags:
        - System
  /Trailers:
    get:
      operationId: GetTrailers
      parameters:
        - description: The user id.
          in: query
          name: userId
          schema:
            description: The user id.
            format: uuid
            nullable: true
            type: string
        - description: Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).
          in: query
          name: maxOfficialRating
          schema:
            description: Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).
            nullable: true
            type: string
        - description: Optional filter by items with theme songs.
          in: query
          name: hasThemeSong
          schema:
            description: Optional filter by items with theme songs.
            nullable: true
            type: boolean
        - description: Optional filter by items with theme videos.
          in: query
          name: hasThemeVideo
          schema:
            description: Optional filter by items with theme videos.
            nullable: true
            type: boolean
        - description: Optional filter by items with subtitles.
          in: query
          name: hasSubtitles
          schema:
            description: Optional filter by items with subtitles.
            nullable: true
            type: boolean
        - description: Optional filter by items with special features.
          in: query
          name: hasSpecialFeature
          schema:
            description: Optional filter by items with special features.
            nullable: true
            type: boolean
        - description: Optional filter by items with trailers.
          in: query
          name: hasTrailer
          schema:
            description: Optional filter by items with trailers.
            nullable: true
            type: boolean
        - description: Optional. Return items that are siblings of a supplied item.
          in: query
          name: adjacentTo
          schema:
            description: Optional. Return items that are siblings of a supplied item.
            nullable: true
            type: string
        - description: Optional filter by parent index number.
          in: query
          name: parentIndexNumber
          schema:
            description: Optional filter by parent index number.
            format: int32
            nullable: true
            type: integer
        - description: Optional filter by items that have or do not have a parental rating.
          in: query
          name: hasParentalRating
          schema:
            description: Optional filter by items that have or do not have a parental rating.
            nullable: true
            type: boolean
        - description: Optional filter by items that are HD or not.
          in: query
          name: isHd
          schema:
            description: Optional filter by items that are HD or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that are 4K or not.
          in: query
          name: is4K
          schema:
            description: Optional filter by items that are 4K or not.
            nullable: true
            type: boolean
        - description: Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited.
          in: query
          name: locationTypes
          schema:
            description: Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/LocationType"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited.
          in: query
          name: excludeLocationTypes
          schema:
            description: Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/LocationType"
            nullable: true
            type: array
        - description: Optional filter by items that are missing episodes or not.
          in: query
          name: isMissing
          schema:
            description: Optional filter by items that are missing episodes or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that are unaired episodes or not.
          in: query
          name: isUnaired
          schema:
            description: Optional filter by items that are unaired episodes or not.
            nullable: true
            type: boolean
        - description: Optional filter by minimum community rating.
          in: query
          name: minCommunityRating
          schema:
            description: Optional filter by minimum community rating.
            format: double
            nullable: true
            type: number
        - description: Optional filter by minimum critic rating.
          in: query
          name: minCriticRating
          schema:
            description: Optional filter by minimum critic rating.
            format: double
            nullable: true
            type: number
        - description: Optional. The minimum premiere date. Format = ISO.
          in: query
          name: minPremiereDate
          schema:
            description: Optional. The minimum premiere date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The minimum last saved date. Format = ISO.
          in: query
          name: minDateLastSaved
          schema:
            description: Optional. The minimum last saved date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The minimum last saved date for the current user. Format = ISO.
          in: query
          name: minDateLastSavedForUser
          schema:
            description: Optional. The minimum last saved date for the current user. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The maximum premiere date. Format = ISO.
          in: query
          name: maxPremiereDate
          schema:
            description: Optional. The maximum premiere date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional filter by items that have an overview or not.
          in: query
          name: hasOverview
          schema:
            description: Optional filter by items that have an overview or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that have an imdb id or not.
          in: query
          name: hasImdbId
          schema:
            description: Optional filter by items that have an imdb id or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that have a tmdb id or not.
          in: query
          name: hasTmdbId
          schema:
            description: Optional filter by items that have a tmdb id or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that have a tvdb id or not.
          in: query
          name: hasTvdbId
          schema:
            description: Optional filter by items that have a tvdb id or not.
            nullable: true
            type: boolean
        - description: Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited.
          in: query
          name: excludeItemIds
          schema:
            description: Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: When searching within folders, this determines whether or not the search will be recursive. true/false.
          in: query
          name: recursive
          schema:
            description: When searching within folders, this determines whether or not the search will be recursive. true/false.
            nullable: true
            type: boolean
        - description: Optional. Filter based on a search term.
          in: query
          name: searchTerm
          schema:
            description: Optional. Filter based on a search term.
            nullable: true
            type: string
        - description: Sort Order - Ascending,Descending.
          in: query
          name: sortOrder
          schema:
            description: Sort Order - Ascending,Descending.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: "Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes."
          in: query
          name: filters
          schema:
            description: "Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes."
            items:
              $ref: "#/components/schemas/ItemFilter"
            nullable: true
            type: array
        - description: Optional filter by items that are marked as favorite, or not.
          in: query
          name: isFavorite
          schema:
            description: Optional filter by items that are marked as favorite, or not.
            nullable: true
            type: boolean
        - description: Optional filter by MediaType. Allows multiple, comma delimited.
          in: query
          name: mediaTypes
          schema:
            description: Optional filter by MediaType. Allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.
          in: query
          name: imageTypes
          schema:
            description: Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - 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."
          in: query
          name: sortBy
          schema:
            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."
            nullable: true
            type: string
        - description: Optional filter by items that are played, or not.
          in: query
          name: isPlayed
          schema:
            description: Optional filter by items that are played, or not.
            nullable: true
            type: boolean
        - description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.
          in: query
          name: genres
          schema:
            description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.
          in: query
          name: officialRatings
          schema:
            description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.
          in: query
          name: tags
          schema:
            description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.
          in: query
          name: years
          schema:
            description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.
            items:
              format: int32
              type: integer
            nullable: true
            type: array
        - description: Optional, include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional, include user data.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified person.
          in: query
          name: person
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person.
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered to include only those containing the specified person id.
          in: query
          name: personIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - 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.
          in: query
          name: personTypes
          schema:
            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.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.
          in: query
          name: studios
          schema:
            description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited.
          in: query
          name: artists
          schema:
            description: Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited.
          in: query
          name: excludeArtistIds
          schema:
            description: Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified artist id.
          in: query
          name: artistIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified artist id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified album artist id.
          in: query
          name: albumArtistIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified album artist id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified contributing artist id.
          in: query
          name: contributingArtistIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified contributing artist id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited.
          in: query
          name: albums
          schema:
            description: Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited.
          in: query
          name: albumIds
          schema:
            description: Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.
          in: query
          name: ids
          schema:
            description: Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited.
          in: query
          name: videoTypes
          schema:
            description: Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/VideoType"
            nullable: true
            type: array
        - description: Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).
          in: query
          name: minOfficialRating
          schema:
            description: Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).
            nullable: true
            type: string
        - description: Optional filter by items that are locked.
          in: query
          name: isLocked
          schema:
            description: Optional filter by items that are locked.
            nullable: true
            type: boolean
        - description: Optional filter by items that are placeholders.
          in: query
          name: isPlaceHolder
          schema:
            description: Optional filter by items that are placeholders.
            nullable: true
            type: boolean
        - description: Optional filter by items that have official ratings.
          in: query
          name: hasOfficialRating
          schema:
            description: Optional filter by items that have official ratings.
            nullable: true
            type: boolean
        - description: Whether or not to hide items behind their boxsets.
          in: query
          name: collapseBoxSetItems
          schema:
            description: Whether or not to hide items behind their boxsets.
            nullable: true
            type: boolean
        - description: Optional. Filter by the minimum width of the item.
          in: query
          name: minWidth
          schema:
            description: Optional. Filter by the minimum width of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by the minimum height of the item.
          in: query
          name: minHeight
          schema:
            description: Optional. Filter by the minimum height of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by the maximum width of the item.
          in: query
          name: maxWidth
          schema:
            description: Optional. Filter by the maximum width of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by the maximum height of the item.
          in: query
          name: maxHeight
          schema:
            description: Optional. Filter by the maximum height of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional filter by items that are 3D, or not.
          in: query
          name: is3D
          schema:
            description: Optional filter by items that are 3D, or not.
            nullable: true
            type: boolean
        - description: Optional filter by Series Status. Allows multiple, comma delimited.
          in: query
          name: seriesStatus
          schema:
            description: Optional filter by Series Status. Allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/SeriesStatus"
            nullable: true
            type: array
        - description: Optional filter by items whose name is sorted equally or greater than a given input string.
          in: query
          name: nameStartsWithOrGreater
          schema:
            description: Optional filter by items whose name is sorted equally or greater than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally than a given input string.
          in: query
          name: nameStartsWith
          schema:
            description: Optional filter by items whose name is sorted equally than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is equally or lesser than a given input string.
          in: query
          name: nameLessThan
          schema:
            description: Optional filter by items whose name is equally or lesser than a given input string.
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.
          in: query
          name: studioIds
          schema:
            description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.
          in: query
          name: genreIds
          schema:
            description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Enable the total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Optional. Enable the total record count.
            type: boolean
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional, include image information in output.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Finds movies and trailers similar to a given trailer.
      tags:
        - Trailers
  "/Trailers/{itemId}/Similar":
    get:
      operationId: GetSimilarTrailers
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Exclude artist ids.
          in: query
          name: excludeArtistIds
          schema:
            description: Exclude artist ids.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
      responses:
        "200":
          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"
          description: Similar items returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets similar items.
      tags:
        - Library
  /Users:
    get:
      operationId: GetUsers
      parameters:
        - description: Optional filter by IsHidden=true or false.
          in: query
          name: isHidden
          schema:
            description: Optional filter by IsHidden=true or false.
            nullable: true
            type: boolean
        - description: Optional filter by IsDisabled=true or false.
          in: query
          name: isDisabled
          schema:
            description: Optional filter by IsDisabled=true or false.
            nullable: true
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/UserDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/UserDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/UserDto"
                type: array
          description: Users returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a list of users.
      tags:
        - User
  /Users/AuthenticateByName:
    post:
      operationId: AuthenticateUserByName
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/AuthenticateUserByName"
          application/json:
            schema:
              $ref: "#/components/schemas/AuthenticateUserByName"
          text/json:
            schema:
              $ref: "#/components/schemas/AuthenticateUserByName"
        description: The M:Jellyfin.Api.Controllers.UserController.AuthenticateUserByName(Jellyfin.Api.Models.UserDtos.AuthenticateUserByName) request.
        required: true
      responses:
        "200":
          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"
          description: User authenticated.
      summary: Authenticates a user by name.
      tags:
        - User
  /Users/AuthenticateWithQuickConnect:
    post:
      operationId: AuthenticateWithQuickConnect
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/QuickConnectDto"
          application/json:
            schema:
              $ref: "#/components/schemas/QuickConnectDto"
          text/json:
            schema:
              $ref: "#/components/schemas/QuickConnectDto"
        description: The Jellyfin.Api.Models.UserDtos.QuickConnectDto request.
        required: true
      responses:
        "200":
          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"
          description: User authenticated.
        "400":
          description: Missing token.
      summary: Authenticates a user with quick connect.
      tags:
        - User
  /Users/ForgotPassword:
    post:
      operationId: ForgotPassword
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ForgotPasswordDto"
          application/json:
            schema:
              $ref: "#/components/schemas/ForgotPasswordDto"
          text/json:
            schema:
              $ref: "#/components/schemas/ForgotPasswordDto"
        description: The forgot password request containing the entered username.
        required: true
      responses:
        "200":
          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"
          description: Password reset process started.
      summary: Initiates the forgot password process for a local user.
      tags:
        - User
  /Users/ForgotPassword/Pin:
    post:
      operationId: ForgotPasswordPin
      requestBody:
        content:
          application/*+json:
            schema:
              description: The pin.
              nullable: true
              type: string
          application/json:
            schema:
              description: The pin.
              nullable: true
              type: string
          text/json:
            schema:
              description: The pin.
              nullable: true
              type: string
        description: The pin.
      responses:
        "200":
          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"
          description: Pin reset process started.
      summary: Redeems a forgot password pin.
      tags:
        - User
  /Users/Me:
    get:
      operationId: GetCurrentUser
      responses:
        "200":
          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"
          description: User returned.
        "400":
          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"
          description: Token is not owned by a user.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the user based on auth token.
      tags:
        - User
  /Users/New:
    post:
      operationId: CreateUserByName
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreateUserByName"
          application/json:
            schema:
              $ref: "#/components/schemas/CreateUserByName"
          text/json:
            schema:
              $ref: "#/components/schemas/CreateUserByName"
        description: The create user by name request body.
        required: true
      responses:
        "200":
          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"
          description: User created.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Creates a user.
      tags:
        - User
  /Users/Public:
    get:
      operationId: GetPublicUsers
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/UserDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/UserDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/UserDto"
                type: array
          description: Public users returned.
      summary: Gets a list of publicly visible users for display on a login screen.
      tags:
        - User
  "/Users/{userId}":
    delete:
      operationId: DeleteUser
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      responses:
        "204":
          description: User deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: User not found.
      security:
        - CustomAuthentication: []
      summary: Deletes a user.
      tags:
        - User
    get:
      operationId: GetUserById
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: User returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: User not found.
      security:
        - CustomAuthentication: []
      summary: Gets a user by Id.
      tags:
        - User
    post:
      operationId: UpdateUser
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UserDto"
          application/json:
            schema:
              $ref: "#/components/schemas/UserDto"
          text/json:
            schema:
              $ref: "#/components/schemas/UserDto"
        description: The updated user model.
        required: true
      responses:
        "204":
          description: User updated.
        "400":
          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"
          description: User information was not supplied.
        "401":
          description: Unauthorized
        "403":
          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"
          description: User update forbidden.
      security:
        - CustomAuthentication: []
      summary: Updates a user.
      tags:
        - User
  "/Users/{userId}/Authenticate":
    post:
      operationId: AuthenticateUser
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
        - description: The password as plain text.
          in: query
          name: pw
          required: true
          schema:
            description: The password as plain text.
            type: string
        - description: The password sha1-hash.
          in: query
          name: password
          schema:
            description: The password sha1-hash.
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: User authenticated.
        "403":
          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"
          description: Sha1-hashed password only is not allowed.
        "404":
          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"
          description: User not found.
      summary: Authenticates a user.
      tags:
        - User
  "/Users/{userId}/Configuration":
    post:
      operationId: UpdateUserConfiguration
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UserConfiguration"
          application/json:
            schema:
              $ref: "#/components/schemas/UserConfiguration"
          text/json:
            schema:
              $ref: "#/components/schemas/UserConfiguration"
        description: The new user configuration.
        required: true
      responses:
        "204":
          description: User configuration updated.
        "401":
          description: Unauthorized
        "403":
          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"
          description: User configuration update forbidden.
      security:
        - CustomAuthentication: []
      summary: Updates a user configuration.
      tags:
        - User
  "/Users/{userId}/EasyPassword":
    post:
      operationId: UpdateUserEasyPassword
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UpdateUserEasyPassword"
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateUserEasyPassword"
          text/json:
            schema:
              $ref: "#/components/schemas/UpdateUserEasyPassword"
        description: The M:Jellyfin.Api.Controllers.UserController.UpdateUserEasyPassword(System.Guid,Jellyfin.Api.Models.UserDtos.UpdateUserEasyPassword) request.
        required: true
      responses:
        "204":
          description: Password successfully reset.
        "401":
          description: Unauthorized
        "403":
          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"
          description: User is not allowed to update the password.
        "404":
          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"
          description: User not found.
      security:
        - CustomAuthentication: []
      summary: Updates a user's easy password.
      tags:
        - User
  "/Users/{userId}/FavoriteItems/{itemId}":
    delete:
      operationId: UnmarkFavoriteItem
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Item unmarked as favorite.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Unmarks item as a favorite.
      tags:
        - UserLibrary
    post:
      operationId: MarkFavoriteItem
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Item marked as favorite.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Marks an item as a favorite.
      tags:
        - UserLibrary
  "/Users/{userId}/GroupingOptions":
    get:
      operationId: GetGroupingOptions
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/SpecialViewOptionDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/SpecialViewOptionDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/SpecialViewOptionDto"
                type: array
          description: User view grouping options returned.
        "404":
          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"
          description: User not found.
      summary: Get user view grouping options.
      tags:
        - UserViews
  "/Users/{userId}/Images/{imageType}":
    delete:
      operationId: DeleteUserImage
      parameters:
        - description: User Id.
          in: path
          name: userId
          required: true
          schema:
            description: User Id.
            format: uuid
            type: string
        - description: (Unused) Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: (Unused) Image index.
          in: query
          name: index
          schema:
            description: (Unused) Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "204":
          description: Image deleted.
        "401":
          description: Unauthorized
        "403":
          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"
          description: User does not have permission to delete the image.
      security:
        - CustomAuthentication: []
      summary: Delete the user's image.
      tags:
        - Image
    get:
      operationId: GetUserImage
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get user profile image.
      tags:
        - Image
    head:
      operationId: HeadUserImage
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
        - description: Image index.
          in: query
          name: imageIndex
          schema:
            description: Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get user profile image.
      tags:
        - Image
    post:
      operationId: PostUserImage
      parameters:
        - description: User Id.
          in: path
          name: userId
          required: true
          schema:
            description: User Id.
            format: uuid
            type: string
        - description: (Unused) Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: (Unused) Image index.
          in: query
          name: index
          schema:
            description: (Unused) Image index.
            format: int32
            nullable: true
            type: integer
      responses:
        "204":
          description: Image updated.
        "401":
          description: Unauthorized
        "403":
          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"
          description: User does not have permission to delete the image.
      security:
        - CustomAuthentication: []
      summary: Sets the user image.
      tags:
        - Image
  "/Users/{userId}/Images/{imageType}/{imageIndex}":
    get:
      operationId: GetUserImageByIndex
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get user profile image.
      tags:
        - Image
    head:
      operationId: HeadUserImageByIndex
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: Image index.
          in: path
          name: imageIndex
          required: true
          schema:
            description: Image index.
            format: int32
            type: integer
        - description: Optional. Supply the cache tag from the item object to receive strong caching headers.
          in: query
          name: tag
          schema:
            description: Optional. Supply the cache tag from the item object to receive strong caching headers.
            nullable: true
            type: string
        - description: Determines the output format of the image - original,gif,jpg,png.
          in: query
          name: format
          schema:
            $ref: "#/components/schemas/ImageFormat"
        - description: The maximum image width to return.
          in: query
          name: maxWidth
          schema:
            description: The maximum image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The maximum image height to return.
          in: query
          name: maxHeight
          schema:
            description: The maximum image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Percent to render for the percent played overlay.
          in: query
          name: percentPlayed
          schema:
            description: Optional. Percent to render for the percent played overlay.
            format: double
            nullable: true
            type: number
        - description: Optional. Unplayed count overlay to render.
          in: query
          name: unplayedCount
          schema:
            description: Optional. Unplayed count overlay to render.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image width to return.
          in: query
          name: width
          schema:
            description: The fixed image width to return.
            format: int32
            nullable: true
            type: integer
        - description: The fixed image height to return.
          in: query
          name: height
          schema:
            description: The fixed image height to return.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
          in: query
          name: quality
          schema:
            description: Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
          in: query
          name: cropWhitespace
          schema:
            description: Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.
            nullable: true
            type: boolean
        - description: Optional. Add a played indicator.
          in: query
          name: addPlayedIndicator
          schema:
            description: Optional. Add a played indicator.
            nullable: true
            type: boolean
        - description: Optional. Blur image.
          in: query
          name: blur
          schema:
            description: Optional. Blur image.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Apply a background color for transparent images.
          in: query
          name: backgroundColor
          schema:
            description: Optional. Apply a background color for transparent images.
            nullable: true
            type: string
        - description: Optional. Apply a foreground layer on top of the image.
          in: query
          name: foregroundLayer
          schema:
            description: Optional. Apply a foreground layer on top of the image.
            nullable: true
            type: string
      responses:
        "200":
          content:
            image/*:
              schema:
                format: binary
                type: string
          description: Image stream returned.
        "404":
          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"
          description: Item not found.
      summary: Get user profile image.
      tags:
        - Image
  "/Users/{userId}/Images/{imageType}/{index}":
    delete:
      operationId: DeleteUserImageByIndex
      parameters:
        - description: User Id.
          in: path
          name: userId
          required: true
          schema:
            description: User Id.
            format: uuid
            type: string
        - description: (Unused) Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: (Unused) Image index.
          in: path
          name: index
          required: true
          schema:
            description: (Unused) Image index.
            format: int32
            type: integer
      responses:
        "204":
          description: Image deleted.
        "401":
          description: Unauthorized
        "403":
          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"
          description: User does not have permission to delete the image.
      security:
        - CustomAuthentication: []
      summary: Delete the user's image.
      tags:
        - Image
    post:
      operationId: PostUserImageByIndex
      parameters:
        - description: User Id.
          in: path
          name: userId
          required: true
          schema:
            description: User Id.
            format: uuid
            type: string
        - description: (Unused) Image type.
          in: path
          name: imageType
          required: true
          schema:
            $ref: "#/components/schemas/ImageType"
        - description: (Unused) Image index.
          in: path
          name: index
          required: true
          schema:
            description: (Unused) Image index.
            format: int32
            type: integer
      responses:
        "204":
          description: Image updated.
        "401":
          description: Unauthorized
        "403":
          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"
          description: User does not have permission to delete the image.
      security:
        - CustomAuthentication: []
      summary: Sets the user image.
      tags:
        - Image
  "/Users/{userId}/Items":
    get:
      operationId: GetItemsByUserId
      parameters:
        - description: The user id supplied as query parameter.
          in: path
          name: userId
          required: true
          schema:
            description: The user id supplied as query parameter.
            format: uuid
            type: string
        - description: Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).
          in: query
          name: maxOfficialRating
          schema:
            description: Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).
            nullable: true
            type: string
        - description: Optional filter by items with theme songs.
          in: query
          name: hasThemeSong
          schema:
            description: Optional filter by items with theme songs.
            nullable: true
            type: boolean
        - description: Optional filter by items with theme videos.
          in: query
          name: hasThemeVideo
          schema:
            description: Optional filter by items with theme videos.
            nullable: true
            type: boolean
        - description: Optional filter by items with subtitles.
          in: query
          name: hasSubtitles
          schema:
            description: Optional filter by items with subtitles.
            nullable: true
            type: boolean
        - description: Optional filter by items with special features.
          in: query
          name: hasSpecialFeature
          schema:
            description: Optional filter by items with special features.
            nullable: true
            type: boolean
        - description: Optional filter by items with trailers.
          in: query
          name: hasTrailer
          schema:
            description: Optional filter by items with trailers.
            nullable: true
            type: boolean
        - description: Optional. Return items that are siblings of a supplied item.
          in: query
          name: adjacentTo
          schema:
            description: Optional. Return items that are siblings of a supplied item.
            nullable: true
            type: string
        - description: Optional filter by parent index number.
          in: query
          name: parentIndexNumber
          schema:
            description: Optional filter by parent index number.
            format: int32
            nullable: true
            type: integer
        - description: Optional filter by items that have or do not have a parental rating.
          in: query
          name: hasParentalRating
          schema:
            description: Optional filter by items that have or do not have a parental rating.
            nullable: true
            type: boolean
        - description: Optional filter by items that are HD or not.
          in: query
          name: isHd
          schema:
            description: Optional filter by items that are HD or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that are 4K or not.
          in: query
          name: is4K
          schema:
            description: Optional filter by items that are 4K or not.
            nullable: true
            type: boolean
        - description: Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.
          in: query
          name: locationTypes
          schema:
            description: Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.
            items:
              $ref: "#/components/schemas/LocationType"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimeted.
          in: query
          name: excludeLocationTypes
          schema:
            description: Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimeted.
            items:
              $ref: "#/components/schemas/LocationType"
            nullable: true
            type: array
        - description: Optional filter by items that are missing episodes or not.
          in: query
          name: isMissing
          schema:
            description: Optional filter by items that are missing episodes or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that are unaired episodes or not.
          in: query
          name: isUnaired
          schema:
            description: Optional filter by items that are unaired episodes or not.
            nullable: true
            type: boolean
        - description: Optional filter by minimum community rating.
          in: query
          name: minCommunityRating
          schema:
            description: Optional filter by minimum community rating.
            format: double
            nullable: true
            type: number
        - description: Optional filter by minimum critic rating.
          in: query
          name: minCriticRating
          schema:
            description: Optional filter by minimum critic rating.
            format: double
            nullable: true
            type: number
        - description: Optional. The minimum premiere date. Format = ISO.
          in: query
          name: minPremiereDate
          schema:
            description: Optional. The minimum premiere date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The minimum last saved date. Format = ISO.
          in: query
          name: minDateLastSaved
          schema:
            description: Optional. The minimum last saved date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The minimum last saved date for the current user. Format = ISO.
          in: query
          name: minDateLastSavedForUser
          schema:
            description: Optional. The minimum last saved date for the current user. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional. The maximum premiere date. Format = ISO.
          in: query
          name: maxPremiereDate
          schema:
            description: Optional. The maximum premiere date. Format = ISO.
            format: date-time
            nullable: true
            type: string
        - description: Optional filter by items that have an overview or not.
          in: query
          name: hasOverview
          schema:
            description: Optional filter by items that have an overview or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that have an imdb id or not.
          in: query
          name: hasImdbId
          schema:
            description: Optional filter by items that have an imdb id or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that have a tmdb id or not.
          in: query
          name: hasTmdbId
          schema:
            description: Optional filter by items that have a tmdb id or not.
            nullable: true
            type: boolean
        - description: Optional filter by items that have a tvdb id or not.
          in: query
          name: hasTvdbId
          schema:
            description: Optional filter by items that have a tvdb id or not.
            nullable: true
            type: boolean
        - description: Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.
          in: query
          name: excludeItemIds
          schema:
            description: Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
          in: query
          name: startIndex
          schema:
            description: Optional. The record index to start at. All items with a lower index will be dropped from the results.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: When searching within folders, this determines whether or not the search will be recursive. true/false.
          in: query
          name: recursive
          schema:
            description: When searching within folders, this determines whether or not the search will be recursive. true/false.
            nullable: true
            type: boolean
        - description: Optional. Filter based on a search term.
          in: query
          name: searchTerm
          schema:
            description: Optional. Filter based on a search term.
            nullable: true
            type: string
        - description: Sort Order - Ascending,Descending.
          in: query
          name: sortOrder
          schema:
            description: Sort Order - Ascending,Descending.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines."
          in: query
          name: fields
          schema:
            description: "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimeted.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes."
          in: query
          name: filters
          schema:
            description: "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes."
            items:
              $ref: "#/components/schemas/ItemFilter"
            nullable: true
            type: array
        - description: Optional filter by items that are marked as favorite, or not.
          in: query
          name: isFavorite
          schema:
            description: Optional filter by items that are marked as favorite, or not.
            nullable: true
            type: boolean
        - description: Optional filter by MediaType. Allows multiple, comma delimited.
          in: query
          name: mediaTypes
          schema:
            description: Optional filter by MediaType. Allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.
          in: query
          name: imageTypes
          schema:
            description: Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime."
          in: query
          name: sortBy
          schema:
            description: "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime."
            nullable: true
            type: string
        - description: Optional filter by items that are played, or not.
          in: query
          name: isPlayed
          schema:
            description: Optional filter by items that are played, or not.
            nullable: true
            type: boolean
        - description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.
          in: query
          name: genres
          schema:
            description: Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.
          in: query
          name: officialRatings
          schema:
            description: Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.
          in: query
          name: tags
          schema:
            description: Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.
          in: query
          name: years
          schema:
            description: Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.
            items:
              format: int32
              type: integer
            nullable: true
            type: array
        - description: Optional, include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional, include user data.
            nullable: true
            type: boolean
        - description: Optional, the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional, the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified person.
          in: query
          name: person
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person.
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered to include only those containing the specified person id.
          in: query
          name: personIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified person id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - 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.
          in: query
          name: personTypes
          schema:
            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.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.
          in: query
          name: studios
          schema:
            description: Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimeted.
          in: query
          name: artists
          schema:
            description: Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimeted.
          in: query
          name: excludeArtistIds
          schema:
            description: Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimeted.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified artist id.
          in: query
          name: artistIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified artist id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified album artist id.
          in: query
          name: albumArtistIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified album artist id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered to include only those containing the specified contributing artist id.
          in: query
          name: contributingArtistIds
          schema:
            description: Optional. If specified, results will be filtered to include only those containing the specified contributing artist id.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.
          in: query
          name: albums
          schema:
            description: Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimeted.
          in: query
          name: albumIds
          schema:
            description: Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimeted.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.
          in: query
          name: ids
          schema:
            description: Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.
          in: query
          name: videoTypes
          schema:
            description: Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.
            items:
              $ref: "#/components/schemas/VideoType"
            nullable: true
            type: array
        - description: Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).
          in: query
          name: minOfficialRating
          schema:
            description: Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).
            nullable: true
            type: string
        - description: Optional filter by items that are locked.
          in: query
          name: isLocked
          schema:
            description: Optional filter by items that are locked.
            nullable: true
            type: boolean
        - description: Optional filter by items that are placeholders.
          in: query
          name: isPlaceHolder
          schema:
            description: Optional filter by items that are placeholders.
            nullable: true
            type: boolean
        - description: Optional filter by items that have official ratings.
          in: query
          name: hasOfficialRating
          schema:
            description: Optional filter by items that have official ratings.
            nullable: true
            type: boolean
        - description: Whether or not to hide items behind their boxsets.
          in: query
          name: collapseBoxSetItems
          schema:
            description: Whether or not to hide items behind their boxsets.
            nullable: true
            type: boolean
        - description: Optional. Filter by the minimum width of the item.
          in: query
          name: minWidth
          schema:
            description: Optional. Filter by the minimum width of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by the minimum height of the item.
          in: query
          name: minHeight
          schema:
            description: Optional. Filter by the minimum height of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by the maximum width of the item.
          in: query
          name: maxWidth
          schema:
            description: Optional. Filter by the maximum width of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Filter by the maximum height of the item.
          in: query
          name: maxHeight
          schema:
            description: Optional. Filter by the maximum height of the item.
            format: int32
            nullable: true
            type: integer
        - description: Optional filter by items that are 3D, or not.
          in: query
          name: is3D
          schema:
            description: Optional filter by items that are 3D, or not.
            nullable: true
            type: boolean
        - description: Optional filter by Series Status. Allows multiple, comma delimeted.
          in: query
          name: seriesStatus
          schema:
            description: Optional filter by Series Status. Allows multiple, comma delimeted.
            items:
              $ref: "#/components/schemas/SeriesStatus"
            nullable: true
            type: array
        - description: Optional filter by items whose name is sorted equally or greater than a given input string.
          in: query
          name: nameStartsWithOrGreater
          schema:
            description: Optional filter by items whose name is sorted equally or greater than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is sorted equally than a given input string.
          in: query
          name: nameStartsWith
          schema:
            description: Optional filter by items whose name is sorted equally than a given input string.
            nullable: true
            type: string
        - description: Optional filter by items whose name is equally or lesser than a given input string.
          in: query
          name: nameLessThan
          schema:
            description: Optional filter by items whose name is equally or lesser than a given input string.
            nullable: true
            type: string
        - description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimeted.
          in: query
          name: studioIds
          schema:
            description: Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimeted.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimeted.
          in: query
          name: genreIds
          schema:
            description: Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimeted.
            items:
              format: uuid
              type: string
            nullable: true
            type: array
        - description: Optional. Enable the total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Optional. Enable the total record count.
            type: boolean
        - description: Optional, include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional, include image information in output.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Success
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets items based on a query.
      tags:
        - Items
  "/Users/{userId}/Items/Latest":
    get:
      operationId: GetLatestMedia
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Filter by items that are played, or not.
          in: query
          name: isPlayed
          schema:
            description: Filter by items that are played, or not.
            nullable: true
            type: boolean
        - description: Optional. include image information in output.
          in: query
          name: enableImages
          schema:
            description: Optional. include image information in output.
            nullable: true
            type: boolean
        - description: Optional. the max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. the max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. include user data.
            nullable: true
            type: boolean
        - description: Return item limit.
          in: query
          name: limit
          schema:
            default: 20
            description: Return item limit.
            format: int32
            type: integer
        - description: Whether or not to group items into a parent container.
          in: query
          name: groupItems
          schema:
            default: true
            description: Whether or not to group items into a parent container.
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
          description: Latest media returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets latest media.
      tags:
        - UserLibrary
  "/Users/{userId}/Items/Resume":
    get:
      operationId: GetResumeItems
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
        - description: The start index.
          in: query
          name: startIndex
          schema:
            description: The start index.
            format: int32
            nullable: true
            type: integer
        - description: The item limit.
          in: query
          name: limit
          schema:
            description: The item limit.
            format: int32
            nullable: true
            type: integer
        - description: The search term.
          in: query
          name: searchTerm
          schema:
            description: The search term.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - 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."
          in: query
          name: fields
          schema:
            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."
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. Filter by MediaType. Allows multiple, comma delimited.
          in: query
          name: mediaTypes
          schema:
            description: Optional. Filter by MediaType. Allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. Enable the total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: true
            description: Optional. Enable the total record count.
            type: boolean
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Items returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets items based on a query.
      tags:
        - Items
  "/Users/{userId}/Items/Root":
    get:
      operationId: GetRootFolder
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Root folder returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets the root folder from a user's library.
      tags:
        - UserLibrary
  "/Users/{userId}/Items/{itemId}":
    get:
      operationId: GetItem
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Item returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets an item from a user's library.
      tags:
        - UserLibrary
  "/Users/{userId}/Items/{itemId}/Intros":
    get:
      operationId: GetIntros
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Intros returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets intros to play before the main media item plays.
      tags:
        - UserLibrary
  "/Users/{userId}/Items/{itemId}/LocalTrailers":
    get:
      operationId: GetLocalTrailers
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
          description: An Microsoft.AspNetCore.Mvc.OkResult containing the item's local trailers.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets local trailers for an item.
      tags:
        - UserLibrary
  "/Users/{userId}/Items/{itemId}/Rating":
    delete:
      operationId: DeleteUserItemRating
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Personal rating removed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Deletes a user's saved personal rating for an item.
      tags:
        - UserLibrary
    post:
      operationId: UpdateUserItemRating
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Whether this M:Jellyfin.Api.Controllers.UserLibraryController.UpdateUserItemRating(System.Guid,System.Guid,System.Nullable{System.Boolean}) is likes.
          in: query
          name: likes
          schema:
            description: Whether this M:Jellyfin.Api.Controllers.UserLibraryController.UpdateUserItemRating(System.Guid,System.Guid,System.Nullable{System.Boolean}) is likes.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Item rating updated.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Updates a user's rating for an item.
      tags:
        - UserLibrary
  "/Users/{userId}/Items/{itemId}/SpecialFeatures":
    get:
      operationId: GetSpecialFeatures
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/BaseItemDto"
                type: array
          description: Special features returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets special features for an item.
      tags:
        - UserLibrary
  "/Users/{userId}/Password":
    post:
      operationId: UpdateUserPassword
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UpdateUserPassword"
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateUserPassword"
          text/json:
            schema:
              $ref: "#/components/schemas/UpdateUserPassword"
        description: The M:Jellyfin.Api.Controllers.UserController.UpdateUserPassword(System.Guid,Jellyfin.Api.Models.UserDtos.UpdateUserPassword) request.
        required: true
      responses:
        "204":
          description: Password successfully reset.
        "401":
          description: Unauthorized
        "403":
          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"
          description: User is not allowed to update the password.
        "404":
          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"
          description: User not found.
      security:
        - CustomAuthentication: []
      summary: Updates a user's password.
      tags:
        - User
  "/Users/{userId}/PlayedItems/{itemId}":
    delete:
      operationId: MarkUnplayedItem
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
      responses:
        "200":
          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"
          description: Item marked as unplayed.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Marks an item as unplayed for user.
      tags:
        - Playstate
    post:
      operationId: MarkPlayedItem
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: Optional. The date the item was played.
          in: query
          name: datePlayed
          schema:
            description: Optional. The date the item was played.
            format: date-time
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Item marked as played.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Marks an item as played for user.
      tags:
        - Playstate
  "/Users/{userId}/PlayingItems/{itemId}":
    delete:
      operationId: OnPlaybackStopped
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: The id of the MediaSource.
          in: query
          name: mediaSourceId
          schema:
            description: The id of the MediaSource.
            nullable: true
            type: string
        - description: The next media type that will play.
          in: query
          name: nextMediaType
          schema:
            description: The next media type that will play.
            nullable: true
            type: string
        - description: Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms.
          in: query
          name: positionTicks
          schema:
            description: Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
      responses:
        "204":
          description: Playback stop recorded.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports that a user has stopped playing an item.
      tags:
        - Playstate
    post:
      operationId: OnPlaybackStart
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: The id of the MediaSource.
          in: query
          name: mediaSourceId
          schema:
            description: The id of the MediaSource.
            nullable: true
            type: string
        - description: The audio stream index.
          in: query
          name: audioStreamIndex
          schema:
            description: The audio stream index.
            format: int32
            nullable: true
            type: integer
        - description: The subtitle stream index.
          in: query
          name: subtitleStreamIndex
          schema:
            description: The subtitle stream index.
            format: int32
            nullable: true
            type: integer
        - description: The play method.
          in: query
          name: playMethod
          schema:
            $ref: "#/components/schemas/PlayMethod"
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: Indicates if the client can seek.
          in: query
          name: canSeek
          schema:
            default: false
            description: Indicates if the client can seek.
            type: boolean
      responses:
        "204":
          description: Play start recorded.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports that a user has begun playing an item.
      tags:
        - Playstate
  "/Users/{userId}/PlayingItems/{itemId}/Progress":
    post:
      operationId: OnPlaybackProgress
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Item id.
          in: path
          name: itemId
          required: true
          schema:
            description: Item id.
            format: uuid
            type: string
        - description: The id of the MediaSource.
          in: query
          name: mediaSourceId
          schema:
            description: The id of the MediaSource.
            nullable: true
            type: string
        - description: Optional. The current position, in ticks. 1 tick = 10000 ms.
          in: query
          name: positionTicks
          schema:
            description: Optional. The current position, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: The audio stream index.
          in: query
          name: audioStreamIndex
          schema:
            description: The audio stream index.
            format: int32
            nullable: true
            type: integer
        - description: The subtitle stream index.
          in: query
          name: subtitleStreamIndex
          schema:
            description: The subtitle stream index.
            format: int32
            nullable: true
            type: integer
        - description: Scale of 0-100.
          in: query
          name: volumeLevel
          schema:
            description: Scale of 0-100.
            format: int32
            nullable: true
            type: integer
        - description: The play method.
          in: query
          name: playMethod
          schema:
            $ref: "#/components/schemas/PlayMethod"
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The repeat mode.
          in: query
          name: repeatMode
          schema:
            $ref: "#/components/schemas/RepeatMode"
        - description: Indicates if the player is paused.
          in: query
          name: isPaused
          schema:
            default: false
            description: Indicates if the player is paused.
            type: boolean
        - description: Indicates if the player is muted.
          in: query
          name: isMuted
          schema:
            default: false
            description: Indicates if the player is muted.
            type: boolean
      responses:
        "204":
          description: Play progress recorded.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Reports a user's playback progress.
      tags:
        - Playstate
  "/Users/{userId}/Policy":
    post:
      operationId: UpdateUserPolicy
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UserPolicy"
          application/json:
            schema:
              $ref: "#/components/schemas/UserPolicy"
          text/json:
            schema:
              $ref: "#/components/schemas/UserPolicy"
        description: The new user policy.
        required: true
      responses:
        "204":
          description: User policy updated.
        "400":
          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"
          description: User policy was not supplied.
        "401":
          description: Unauthorized
        "403":
          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"
          description: User policy update forbidden.
      security:
        - CustomAuthentication: []
      summary: Updates a user policy.
      tags:
        - User
  "/Users/{userId}/Suggestions":
    get:
      operationId: GetSuggestions
      parameters:
        - description: The user id.
          in: path
          name: userId
          required: true
          schema:
            description: The user id.
            format: uuid
            type: string
        - description: The media types.
          in: query
          name: mediaType
          schema:
            description: The media types.
            items:
              type: string
            nullable: true
            type: array
        - description: The type.
          in: query
          name: type
          schema:
            description: The type.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. The start index.
          in: query
          name: startIndex
          schema:
            description: Optional. The start index.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit.
          in: query
          name: limit
          schema:
            description: Optional. The limit.
            format: int32
            nullable: true
            type: integer
        - description: Whether to enable the total record count.
          in: query
          name: enableTotalRecordCount
          schema:
            default: false
            description: Whether to enable the total record count.
            type: boolean
      responses:
        "200":
          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"
          description: Suggestions returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets suggestions.
      tags:
        - Suggestions
  "/Users/{userId}/Views":
    get:
      operationId: GetUserViews
      parameters:
        - description: User id.
          in: path
          name: userId
          required: true
          schema:
            description: User id.
            format: uuid
            type: string
        - description: Whether or not to include external views such as channels or live tv.
          in: query
          name: includeExternalContent
          schema:
            description: Whether or not to include external views such as channels or live tv.
            nullable: true
            type: boolean
        - description: Preset views.
          in: query
          name: presetViews
          schema:
            description: Preset views.
            items:
              type: string
            nullable: true
            type: array
        - description: Whether or not to include hidden content.
          in: query
          name: includeHidden
          schema:
            default: false
            description: Whether or not to include hidden content.
            type: boolean
      responses:
        "200":
          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"
          description: User views returned.
      summary: Get user views.
      tags:
        - UserViews
  /Videos/ActiveEncodings:
    delete:
      operationId: StopEncodingProcess
      parameters:
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
      responses:
        "204":
          description: Encoding stopped successfully.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Stops an active encoding.
      tags:
        - HlsSegment
  /Videos/MergeVersions:
    post:
      operationId: MergeVersions
      parameters:
        - description: Item id list. This allows multiple, comma delimited.
          in: query
          name: ids
          required: true
          schema:
            description: Item id list. This allows multiple, comma delimited.
            items:
              format: uuid
              type: string
            type: array
      responses:
        "204":
          description: Videos merged.
        "400":
          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"
          description: Supply at least 2 video ids.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Merges videos into a single record.
      tags:
        - Videos
  "/Videos/{itemId}/AdditionalParts":
    get:
      operationId: GetAdditionalPart
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Additional parts returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets additional parts for a video.
      tags:
        - Videos
  "/Videos/{itemId}/AlternateSources":
    delete:
      operationId: DeleteAlternateSources
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
      responses:
        "204":
          description: Alternate sources deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Video not found.
      security:
        - CustomAuthentication: []
      summary: Removes alternate video sources.
      tags:
        - Videos
  "/Videos/{itemId}/Subtitles":
    post:
      operationId: UploadSubtitle
      parameters:
        - description: The item the subtitle belongs to.
          in: path
          name: itemId
          required: true
          schema:
            description: The item the subtitle belongs to.
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UploadSubtitleDto"
          application/json:
            schema:
              $ref: "#/components/schemas/UploadSubtitleDto"
          text/json:
            schema:
              $ref: "#/components/schemas/UploadSubtitleDto"
        description: The request body.
        required: true
      responses:
        "204":
          description: Subtitle uploaded.
      summary: Upload an external subtitle file.
      tags:
        - Subtitle
  "/Videos/{itemId}/Subtitles/{index}":
    delete:
      operationId: DeleteSubtitle
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The index of the subtitle file.
          in: path
          name: index
          required: true
          schema:
            description: The index of the subtitle file.
            format: int32
            type: integer
      responses:
        "204":
          description: Subtitle deleted.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Item not found.
      security:
        - CustomAuthentication: []
      summary: Deletes an external subtitle file.
      tags:
        - Subtitle
  "/Videos/{itemId}/hls/{playlistId}/stream.m3u8":
    get:
      operationId: GetHlsPlaylistLegacy
      parameters:
        - description: The video id.
          in: path
          name: itemId
          required: true
          schema:
            description: The video id.
            type: string
        - description: The playlist id.
          in: path
          name: playlistId
          required: true
          schema:
            description: The playlist id.
            type: string
      responses:
        "200":
          content:
            application/x-mpegURL:
              schema:
                format: binary
                type: string
          description: Hls video playlist returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a hls video playlist.
      tags:
        - HlsSegment
  "/Videos/{itemId}/hls/{playlistId}/{segmentId}.{segmentContainer}":
    get:
      operationId: GetHlsVideoSegmentLegacy
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            type: string
        - description: The playlist id.
          in: path
          name: playlistId
          required: true
          schema:
            description: The playlist id.
            type: string
        - description: The segment id.
          in: path
          name: segmentId
          required: true
          schema:
            description: The segment id.
            type: string
        - description: The segment container.
          in: path
          name: segmentContainer
          required: true
          schema:
            description: The segment container.
            type: string
      responses:
        "200":
          content:
            video/*:
              schema:
                format: binary
                type: string
          description: Hls video segment returned.
        "404":
          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"
          description: Hls segment not found.
      summary: Gets a hls video segment.
      tags:
        - HlsSegment
  "/Videos/{itemId}/hls1/{playlistId}/{segmentId}.{container}":
    get:
      operationId: GetHlsVideoSegment
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The playlist id.
          in: path
          name: playlistId
          required: true
          schema:
            description: The playlist id.
            type: string
        - description: The segment id.
          in: path
          name: segmentId
          required: true
          schema:
            description: The segment id.
            format: int32
            type: integer
        - 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."
          in: path
          name: container
          required: true
          schema:
            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."
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment lenght.
          in: query
          name: segmentLength
          schema:
            description: The segment lenght.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            video/*:
              schema:
                format: binary
                type: string
          description: Video stream returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a video stream using HTTP live streaming.
      tags:
        - DynamicHls
  "/Videos/{itemId}/live.m3u8":
    get:
      operationId: GetLiveHlsStream
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The audio container.
          in: query
          name: container
          schema:
            description: The audio container.
            nullable: true
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment lenght.
          in: query
          name: segmentLength
          schema:
            description: The segment lenght.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
        - description: Optional. The max width.
          in: query
          name: maxWidth
          schema:
            description: Optional. The max width.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The max height.
          in: query
          name: maxHeight
          schema:
            description: Optional. The max height.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to enable subtitles in the manifest.
          in: query
          name: enableSubtitlesInManifest
          schema:
            description: Optional. Whether to enable subtitles in the manifest.
            nullable: true
            type: boolean
      responses:
        "200":
          content:
            application/x-mpegURL:
              schema:
                format: binary
                type: string
          description: Hls live stream retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a hls live stream.
      tags:
        - VideoHls
  "/Videos/{itemId}/main.m3u8":
    get:
      operationId: GetVariantHlsVideoPlaylist
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            application/x-mpegURL:
              schema:
                format: binary
                type: string
          description: Video stream returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a video stream using HTTP live streaming.
      tags:
        - DynamicHls
  "/Videos/{itemId}/master.m3u8":
    get:
      operationId: GetMasterHlsVideoPlaylist
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          required: true
          schema:
            description: The media version id, if playing an alternate version.
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
        - description: Enable adaptive bitrate streaming.
          in: query
          name: enableAdaptiveBitrateStreaming
          schema:
            default: true
            description: Enable adaptive bitrate streaming.
            type: boolean
      responses:
        "200":
          content:
            application/x-mpegURL:
              schema:
                format: binary
                type: string
          description: Video stream returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a video hls playlist stream.
      tags:
        - DynamicHls
    head:
      operationId: HeadMasterHlsVideoPlaylist
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          required: true
          schema:
            description: The media version id, if playing an alternate version.
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
        - description: Enable adaptive bitrate streaming.
          in: query
          name: enableAdaptiveBitrateStreaming
          schema:
            default: true
            description: Enable adaptive bitrate streaming.
            type: boolean
      responses:
        "200":
          content:
            application/x-mpegURL:
              schema:
                format: binary
                type: string
          description: Video stream returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets a video hls playlist stream.
      tags:
        - DynamicHls
  "/Videos/{itemId}/stream":
    get:
      operationId: GetVideoStream
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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."
          in: query
          name: container
          schema:
            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."
            nullable: true
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            video/*:
              schema:
                format: binary
                type: string
          description: Video stream returned.
      summary: Gets a video stream.
      tags:
        - Videos
    head:
      operationId: HeadVideoStream
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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."
          in: query
          name: container
          schema:
            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."
            nullable: true
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment length.
          in: query
          name: segmentLength
          schema:
            description: The segment length.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamorphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamorphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
      responses:
        "200":
          content:
            video/*:
              schema:
                format: binary
                type: string
          description: Video stream returned.
      summary: Gets a video stream.
      tags:
        - Videos
  "/Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/Stream.{format}":
    get:
      operationId: GetSubtitle
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The media source id.
          in: path
          name: mediaSourceId
          required: true
          schema:
            description: The media source id.
            type: string
        - description: The subtitle stream index.
          in: path
          name: index
          required: true
          schema:
            description: The subtitle stream index.
            format: int32
            type: integer
        - description: The format of the returned subtitle.
          in: path
          name: format
          required: true
          schema:
            description: The format of the returned subtitle.
            type: string
        - description: Optional. The end position of the subtitle in ticks.
          in: query
          name: endPositionTicks
          schema:
            description: Optional. The end position of the subtitle in ticks.
            format: int64
            nullable: true
            type: integer
        - description: Optional. Whether to copy the timestamps.
          in: query
          name: copyTimestamps
          schema:
            default: false
            description: Optional. Whether to copy the timestamps.
            type: boolean
        - description: Optional. Whether to add a VTT time map.
          in: query
          name: addVttTimeMap
          schema:
            default: false
            description: Optional. Whether to add a VTT time map.
            type: boolean
        - description: Optional. The start position of the subtitle in ticks.
          in: query
          name: startPositionTicks
          schema:
            default: 0
            description: Optional. The start position of the subtitle in ticks.
            format: int64
            type: integer
      responses:
        "200":
          content:
            text/*:
              schema:
                format: binary
                type: string
          description: File returned.
      summary: Gets subtitles in a specified format.
      tags:
        - Subtitle
  "/Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/subtitles.m3u8":
    get:
      operationId: GetSubtitlePlaylist
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The subtitle stream index.
          in: path
          name: index
          required: true
          schema:
            description: The subtitle stream index.
            format: int32
            type: integer
        - description: The media source id.
          in: path
          name: mediaSourceId
          required: true
          schema:
            description: The media source id.
            type: string
        - description: The subtitle segment length.
          in: query
          name: segmentLength
          required: true
          schema:
            description: The subtitle segment length.
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/x-mpegURL:
              schema:
                format: binary
                type: string
          description: Subtitle playlist retrieved.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Gets an HLS subtitle playlist.
      tags:
        - Subtitle
  "/Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/{startPositionTicks}/Stream.{format}":
    get:
      operationId: GetSubtitleWithTicks
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - description: The media source id.
          in: path
          name: mediaSourceId
          required: true
          schema:
            description: The media source id.
            type: string
        - description: The subtitle stream index.
          in: path
          name: index
          required: true
          schema:
            description: The subtitle stream index.
            format: int32
            type: integer
        - description: Optional. The start position of the subtitle in ticks.
          in: path
          name: startPositionTicks
          required: true
          schema:
            description: Optional. The start position of the subtitle in ticks.
            format: int64
            type: integer
        - description: The format of the returned subtitle.
          in: path
          name: format
          required: true
          schema:
            description: The format of the returned subtitle.
            type: string
        - description: Optional. The end position of the subtitle in ticks.
          in: query
          name: endPositionTicks
          schema:
            description: Optional. The end position of the subtitle in ticks.
            format: int64
            nullable: true
            type: integer
        - description: Optional. Whether to copy the timestamps.
          in: query
          name: copyTimestamps
          schema:
            default: false
            description: Optional. Whether to copy the timestamps.
            type: boolean
        - description: Optional. Whether to add a VTT time map.
          in: query
          name: addVttTimeMap
          schema:
            default: false
            description: Optional. Whether to add a VTT time map.
            type: boolean
      responses:
        "200":
          content:
            text/*:
              schema:
                format: binary
                type: string
          description: File returned.
      summary: Gets subtitles in a specified format.
      tags:
        - Subtitle
  "/Videos/{itemId}/{stream}.{container}":
    get:
      operationId: GetVideoStreamByContainer
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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."
          in: path
          name: container
          required: true
          schema:
            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."
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment lenght.
          in: query
          name: segmentLength
          schema:
            description: The segment lenght.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamporphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamporphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
        - in: path
          name: stream
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            video/*:
              schema:
                format: binary
                type: string
          description: Video stream returned.
      summary: Gets a video stream.
      tags:
        - Videos
    head:
      operationId: HeadVideoStreamByContainer
      parameters:
        - description: The item id.
          in: path
          name: itemId
          required: true
          schema:
            description: The item id.
            format: uuid
            type: string
        - 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."
          in: path
          name: container
          required: true
          schema:
            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."
            type: string
        - 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.
          in: query
          name: static
          schema:
            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.
            nullable: true
            type: boolean
        - description: The streaming parameters.
          in: query
          name: params
          schema:
            description: The streaming parameters.
            nullable: true
            type: string
        - description: The tag.
          in: query
          name: tag
          schema:
            description: The tag.
            nullable: true
            type: string
        - description: Optional. The dlna device profile id to utilize.
          in: query
          name: deviceProfileId
          schema:
            description: Optional. The dlna device profile id to utilize.
            nullable: true
            type: string
        - description: The play session id.
          in: query
          name: playSessionId
          schema:
            description: The play session id.
            nullable: true
            type: string
        - description: The segment container.
          in: query
          name: segmentContainer
          schema:
            description: The segment container.
            nullable: true
            type: string
        - description: The segment lenght.
          in: query
          name: segmentLength
          schema:
            description: The segment lenght.
            format: int32
            nullable: true
            type: integer
        - description: The minimum number of segments.
          in: query
          name: minSegments
          schema:
            description: The minimum number of segments.
            format: int32
            nullable: true
            type: integer
        - description: The media version id, if playing an alternate version.
          in: query
          name: mediaSourceId
          schema:
            description: The media version id, if playing an alternate version.
            nullable: true
            type: string
        - description: The device id of the client requesting. Used to stop encoding processes when needed.
          in: query
          name: deviceId
          schema:
            description: The device id of the client requesting. Used to stop encoding processes when needed.
            nullable: true
            type: string
        - description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
          in: query
          name: audioCodec
          schema:
            description: "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma."
            nullable: true
            type: string
        - description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
          in: query
          name: enableAutoStreamCopy
          schema:
            description: Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the video stream url.
          in: query
          name: allowVideoStreamCopy
          schema:
            description: Whether or not to allow copying of the video stream url.
            nullable: true
            type: boolean
        - description: Whether or not to allow copying of the audio stream url.
          in: query
          name: allowAudioStreamCopy
          schema:
            description: Whether or not to allow copying of the audio stream url.
            nullable: true
            type: boolean
        - description: Optional. Whether to break on non key frames.
          in: query
          name: breakOnNonKeyFrames
          schema:
            description: Optional. Whether to break on non key frames.
            nullable: true
            type: boolean
        - description: Optional. Specify a specific audio sample rate, e.g. 44100.
          in: query
          name: audioSampleRate
          schema:
            description: Optional. Specify a specific audio sample rate, e.g. 44100.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum audio bit depth.
          in: query
          name: maxAudioBitDepth
          schema:
            description: Optional. The maximum audio bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
          in: query
          name: audioBitRate
          schema:
            description: Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
          in: query
          name: audioChannels
          schema:
            description: Optional. Specify a specific number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
          in: query
          name: maxAudioChannels
          schema:
            description: Optional. Specify a maximum number of audio channels to encode to, e.g. 2.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
          in: query
          name: profile
          schema:
            description: Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.
            nullable: true
            type: string
        - description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
          in: query
          name: level
          schema:
            description: Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.
            nullable: true
            type: string
        - description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
          in: query
          name: framerate
          schema:
            description: Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.
            format: float
            nullable: true
            type: number
        - 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.
          in: query
          name: maxFramerate
          schema:
            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.
            format: float
            nullable: true
            type: number
        - description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
          in: query
          name: copyTimestamps
          schema:
            description: Whether or not to copy timestamps when transcoding with an offset. Defaults to false.
            nullable: true
            type: boolean
        - description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
          in: query
          name: startTimeTicks
          schema:
            description: Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
            format: int64
            nullable: true
            type: integer
        - description: Optional. The fixed horizontal resolution of the encoded video.
          in: query
          name: width
          schema:
            description: Optional. The fixed horizontal resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The fixed vertical resolution of the encoded video.
          in: query
          name: height
          schema:
            description: Optional. The fixed vertical resolution of the encoded video.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
          in: query
          name: videoBitRate
          schema:
            description: Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
          in: query
          name: subtitleStreamIndex
          schema:
            description: Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Specify the subtitle delivery method.
          in: query
          name: subtitleMethod
          schema:
            $ref: "#/components/schemas/SubtitleDeliveryMethod"
        - description: Optional.
          in: query
          name: maxRefFrames
          schema:
            description: Optional.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum video bit depth.
          in: query
          name: maxVideoBitDepth
          schema:
            description: Optional. The maximum video bit depth.
            format: int32
            nullable: true
            type: integer
        - description: Optional. Whether to require avc.
          in: query
          name: requireAvc
          schema:
            description: Optional. Whether to require avc.
            nullable: true
            type: boolean
        - description: Optional. Whether to deinterlace the video.
          in: query
          name: deInterlace
          schema:
            description: Optional. Whether to deinterlace the video.
            nullable: true
            type: boolean
        - description: Optional. Whether to require a non anamporphic stream.
          in: query
          name: requireNonAnamorphic
          schema:
            description: Optional. Whether to require a non anamporphic stream.
            nullable: true
            type: boolean
        - description: Optional. The maximum number of audio channels to transcode.
          in: query
          name: transcodingMaxAudioChannels
          schema:
            description: Optional. The maximum number of audio channels to transcode.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The limit of how many cpu cores to use.
          in: query
          name: cpuCoreLimit
          schema:
            description: Optional. The limit of how many cpu cores to use.
            format: int32
            nullable: true
            type: integer
        - description: The live stream id.
          in: query
          name: liveStreamId
          schema:
            description: The live stream id.
            nullable: true
            type: string
        - description: Optional. Whether to enable the MpegtsM2Ts mode.
          in: query
          name: enableMpegtsM2TsMode
          schema:
            description: Optional. Whether to enable the MpegtsM2Ts mode.
            nullable: true
            type: boolean
        - description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
          in: query
          name: videoCodec
          schema:
            description: "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv."
            nullable: true
            type: string
        - description: Optional. Specify a subtitle codec to encode to.
          in: query
          name: subtitleCodec
          schema:
            description: Optional. Specify a subtitle codec to encode to.
            nullable: true
            type: string
        - description: Optional. The transcoding reason.
          in: query
          name: transcodeReasons
          schema:
            description: Optional. The transcoding reason.
            nullable: true
            type: string
        - description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
          in: query
          name: audioStreamIndex
          schema:
            description: Optional. The index of the audio stream to use. If omitted the first audio stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
          in: query
          name: videoStreamIndex
          schema:
            description: Optional. The index of the video stream to use. If omitted the first video stream will be used.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The MediaBrowser.Model.Dlna.EncodingContext.
          in: query
          name: context
          schema:
            $ref: "#/components/schemas/EncodingContext"
        - description: Optional. The streaming options.
          in: query
          name: streamOptions
          schema:
            additionalProperties:
              type: string
            description: Optional. The streaming options.
            nullable: true
            type: object
        - in: path
          name: stream
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            video/*:
              schema:
                format: binary
                type: string
          description: Video stream returned.
      summary: Gets a video stream.
      tags:
        - Videos
  "/Videos/{videoId}/{mediaSourceId}/Attachments/{index}":
    get:
      operationId: GetAttachment
      parameters:
        - description: Video ID.
          in: path
          name: videoId
          required: true
          schema:
            description: Video ID.
            format: uuid
            type: string
        - description: Media Source ID.
          in: path
          name: mediaSourceId
          required: true
          schema:
            description: Media Source ID.
            type: string
        - description: Attachment Index.
          in: path
          name: index
          required: true
          schema:
            description: Attachment Index.
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                format: binary
                type: string
          description: Attachment retrieved.
        "404":
          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"
          description: Video or attachment not found.
      summary: Get video attachment.
      tags:
        - VideoAttachments
  /Years:
    get:
      operationId: GetYears
      parameters:
        - description: Skips over a given number of items within the results. Use for paging.
          in: query
          name: startIndex
          schema:
            description: Skips over a given number of items within the results. Use for paging.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The maximum number of records to return.
          in: query
          name: limit
          schema:
            description: Optional. The maximum number of records to return.
            format: int32
            nullable: true
            type: integer
        - description: Sort Order - Ascending,Descending.
          in: query
          name: sortOrder
          schema:
            description: Sort Order - Ascending,Descending.
            nullable: true
            type: string
        - description: Specify this to localize the search to a specific item or folder. Omit to use the root.
          in: query
          name: parentId
          schema:
            description: Specify this to localize the search to a specific item or folder. Omit to use the root.
            format: uuid
            nullable: true
            type: string
        - description: Optional. Specify additional fields of information to return in the output.
          in: query
          name: fields
          schema:
            description: Optional. Specify additional fields of information to return in the output.
            items:
              $ref: "#/components/schemas/ItemFields"
            nullable: true
            type: array
        - description: Optional. If specified, results will be excluded based on item type. This allows multiple, comma delimited.
          in: query
          name: excludeItemTypes
          schema:
            description: Optional. If specified, results will be excluded based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. If specified, results will be included based on item type. This allows multiple, comma delimited.
          in: query
          name: includeItemTypes
          schema:
            description: Optional. If specified, results will be included based on item type. This allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - description: Optional. Filter by MediaType. Allows multiple, comma delimited.
          in: query
          name: mediaTypes
          schema:
            description: Optional. Filter by MediaType. Allows multiple, comma delimited.
            items:
              type: string
            nullable: true
            type: array
        - 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."
          in: query
          name: sortBy
          schema:
            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."
            nullable: true
            type: string
        - description: Optional. Include user data.
          in: query
          name: enableUserData
          schema:
            description: Optional. Include user data.
            nullable: true
            type: boolean
        - description: Optional. The max number of images to return, per image type.
          in: query
          name: imageTypeLimit
          schema:
            description: Optional. The max number of images to return, per image type.
            format: int32
            nullable: true
            type: integer
        - description: Optional. The image types to include in the output.
          in: query
          name: enableImageTypes
          schema:
            description: Optional. The image types to include in the output.
            items:
              $ref: "#/components/schemas/ImageType"
            nullable: true
            type: array
        - description: User Id.
          in: query
          name: userId
          schema:
            description: User Id.
            format: uuid
            nullable: true
            type: string
        - description: Search recursively.
          in: query
          name: recursive
          schema:
            default: true
            description: Search recursively.
            type: boolean
        - description: Optional. Include image information in output.
          in: query
          name: enableImages
          schema:
            default: true
            description: Optional. Include image information in output.
            nullable: true
            type: boolean
      responses:
        "200":
          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"
          description: Year query returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      security:
        - CustomAuthentication: []
      summary: Get years.
      tags:
        - Years
  "/Years/{year}":
    get:
      operationId: GetYear
      parameters:
        - description: The year.
          in: path
          name: year
          required: true
          schema:
            description: The year.
            format: int32
            type: integer
        - description: Optional. Filter by user id, and attach user data.
          in: query
          name: userId
          schema:
            description: Optional. Filter by user id, and attach user data.
            format: uuid
            nullable: true
            type: string
      responses:
        "200":
          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"
          description: Year returned.
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          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"
          description: Year not found.
      security:
        - CustomAuthentication: []
      summary: Gets a year.
      tags:
        - Years
  /web/ConfigurationPage:
    get:
      operationId: GetDashboardConfigurationPage
      parameters:
        - description: The name of the page.
          in: query
          name: name
          schema:
            description: The name of the page.
            nullable: true
            type: string
      responses:
        "200":
          content:
            application/x-javascript:
              schema:
                format: binary
                type: string
            text/html:
              schema:
                format: binary
                type: string
          description: ConfigurationPage returned.
        "404":
          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"
          description: Plugin configuration page not found.
      summary: Gets a dashboard configuration page.
      tags:
        - Dashboard
  /web/ConfigurationPages:
    get:
      operationId: GetConfigurationPages
      parameters:
        - description: Whether to enable in the main menu.
          in: query
          name: enableInMainMenu
          schema:
            description: Whether to enable in the main menu.
            nullable: true
            type: boolean
        - description: The Jellyfin.Api.Models.ConfigurationPageInfo.
          in: query
          name: pageType
          schema:
            $ref: "#/components/schemas/ConfigurationPageType"
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ConfigurationPageInfo"
                type: array
            application/json; profile="CamelCase":
              schema:
                items:
                  $ref: "#/components/schemas/ConfigurationPageInfo"
                type: array
            application/json; profile="PascalCase":
              schema:
                items:
                  $ref: "#/components/schemas/ConfigurationPageInfo"
                type: array
          description: ConfigurationPages returned.
        "404":
          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"
          description: Server still loading.
      summary: Gets the configuration pages.
      tags:
        - Dashboard
components:
  schemas:
    AccessSchedule:
      additionalProperties: false
      description: An entity representing a user's access schedule.
      properties:
        DayOfWeek:
          $ref: "#/components/schemas/DynamicDayOfWeek"
        EndHour:
          description: Gets or sets the end hour.
          format: double
          type: number
        Id:
          description: Gets or sets the id of this instance.
          format: int32
          readOnly: true
          type: integer
        StartHour:
          description: Gets or sets the start hour.
          format: double
          type: number
        UserId:
          description: Gets or sets the id of the associated user.
          format: uuid
          readOnly: true
          type: string
      required:
        - DayOfWeek
        - EndHour
        - Id
        - StartHour
        - UserId
      type: object
    ActivityLogEntry:
      additionalProperties: false
      properties:
        Date:
          description: Gets or sets the date.
          format: date-time
          type: string
        Id:
          description: Gets or sets the identifier.
          format: int64
          type: integer
        ItemId:
          description: Gets or sets the item identifier.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Overview:
          description: Gets or sets the overview.
          nullable: true
          type: string
        Severity:
          $ref: "#/components/schemas/LogLevel"
        ShortOverview:
          description: Gets or sets the short overview.
          nullable: true
          type: string
        Type:
          description: Gets or sets the type.
          nullable: true
          type: string
        UserId:
          description: Gets or sets the user identifier.
          format: uuid
          type: string
        UserPrimaryImageTag:
          deprecated: true
          description: Gets or sets the user primary image tag.
          nullable: true
          type: string
      type: object
    ActivityLogEntryQueryResult:
      additionalProperties: false
      properties:
        Items:
          description: Gets or sets the items.
          items:
            $ref: "#/components/schemas/ActivityLogEntry"
          nullable: true
          type: array
        StartIndex:
          description: The index of the first record in Items.
          format: int32
          type: integer
        TotalRecordCount:
          description: The total number of records available.
          format: int32
          type: integer
      type: object
    AddVirtualFolderDto:
      additionalProperties: false
      description: Add virtual folder dto.
      properties:
        LibraryOptions:
          $ref: "#/components/schemas/LibraryOptions"
      type: object
    AlbumInfo:
      additionalProperties: false
      properties:
        AlbumArtists:
          description: Gets or sets the album artist.
          items:
            type: string
          nullable: true
          type: array
        ArtistProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the artist provider ids.
          nullable: true
          type: object
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        SongInfos:
          items:
            $ref: "#/components/schemas/SongInfo"
          nullable: true
          type: array
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    AlbumInfoRemoteSearchQuery:
      additionalProperties: false
      properties:
        IncludeDisabledProviders:
          description: Gets or sets a value indicating whether disabled providers should be included.
          type: boolean
        ItemId:
          format: uuid
          type: string
        SearchInfo:
          $ref: "#/components/schemas/AlbumInfo"
        SearchProviderName:
          description: Will only search within the given provider when set.
          nullable: true
          type: string
      type: object
    AllThemeMediaResult:
      additionalProperties: false
      properties:
        SoundtrackSongsResult:
          $ref: "#/components/schemas/ThemeMediaResult"
        ThemeSongsResult:
          $ref: "#/components/schemas/ThemeMediaResult"
        ThemeVideosResult:
          $ref: "#/components/schemas/ThemeMediaResult"
      type: object
    Architecture:
      enum:
        - X86
        - X64
        - Arm
        - Arm64
        - Wasm
      type: string
    ArtistInfo:
      additionalProperties: false
      properties:
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        SongInfos:
          items:
            $ref: "#/components/schemas/SongInfo"
          nullable: true
          type: array
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    ArtistInfoRemoteSearchQuery:
      additionalProperties: false
      properties:
        IncludeDisabledProviders:
          description: Gets or sets a value indicating whether disabled providers should be included.
          type: boolean
        ItemId:
          format: uuid
          type: string
        SearchInfo:
          $ref: "#/components/schemas/ArtistInfo"
        SearchProviderName:
          description: Will only search within the given provider when set.
          nullable: true
          type: string
      type: object
    AuthenticateUserByName:
      additionalProperties: false
      description: The authenticate user by name request body.
      properties:
        Password:
          description: Gets or sets the sha1-hashed password.
          nullable: true
          type: string
        Pw:
          description: Gets or sets the plain text password.
          nullable: true
          type: string
        Username:
          description: Gets or sets the username.
          nullable: true
          type: string
      type: object
    AuthenticationInfo:
      additionalProperties: false
      properties:
        AccessToken:
          description: Gets or sets the access token.
          nullable: true
          type: string
        AppName:
          description: Gets or sets the name of the application.
          nullable: true
          type: string
        AppVersion:
          description: Gets or sets the application version.
          nullable: true
          type: string
        DateCreated:
          description: Gets or sets the date created.
          format: date-time
          type: string
        DateLastActivity:
          format: date-time
          type: string
        DateRevoked:
          description: Gets or sets the date revoked.
          format: date-time
          nullable: true
          type: string
        DeviceId:
          description: Gets or sets the device identifier.
          nullable: true
          type: string
        DeviceName:
          description: Gets or sets the name of the device.
          nullable: true
          type: string
        Id:
          description: Gets or sets the identifier.
          format: int64
          type: integer
        IsActive:
          description: Gets or sets a value indicating whether this instance is active.
          type: boolean
        UserId:
          description: Gets or sets the user identifier.
          format: uuid
          type: string
        UserName:
          nullable: true
          type: string
      type: object
    AuthenticationInfoQueryResult:
      additionalProperties: false
      properties:
        Items:
          description: Gets or sets the items.
          items:
            $ref: "#/components/schemas/AuthenticationInfo"
          nullable: true
          type: array
        StartIndex:
          description: The index of the first record in Items.
          format: int32
          type: integer
        TotalRecordCount:
          description: The total number of records available.
          format: int32
          type: integer
      type: object
    AuthenticationResult:
      additionalProperties: false
      properties:
        AccessToken:
          nullable: true
          type: string
        ServerId:
          nullable: true
          type: string
        SessionInfo:
          $ref: "#/components/schemas/SessionInfo"
        User:
          $ref: "#/components/schemas/UserDto"
      type: object
    BaseItem:
      additionalProperties: false
      description: Class BaseItem.
      properties:
        Container:
          nullable: true
          type: string
        DateLastSaved:
          format: date-time
          type: string
        ExtraIds:
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        Height:
          format: int32
          type: integer
        IsHD:
          readOnly: true
          type: boolean
        IsShortcut:
          type: boolean
        RemoteTrailers:
          description: Gets or sets the remote trailers.
          items:
            $ref: "#/components/schemas/MediaUrl"
          nullable: true
          type: array
        ShortcutPath:
          nullable: true
          type: string
        Size:
          format: int64
          nullable: true
          type: integer
        SupportsExternalTransfer:
          readOnly: true
          type: boolean
        Width:
          format: int32
          type: integer
      type: object
    BaseItemDto:
      additionalProperties: false
      description: "This is strictly used as a data transfer object from the api layer.\r

        This holds information about a BaseItem in a format that is convenient for the client."
      properties:
        AirDays:
          description: Gets or sets the air days.
          items:
            $ref: "#/components/schemas/DayOfWeek"
          nullable: true
          type: array
        AirTime:
          description: Gets or sets the air time.
          nullable: true
          type: string
        AirsAfterSeasonNumber:
          format: int32
          nullable: true
          type: integer
        AirsBeforeEpisodeNumber:
          format: int32
          nullable: true
          type: integer
        AirsBeforeSeasonNumber:
          format: int32
          nullable: true
          type: integer
        Album:
          description: Gets or sets the album.
          nullable: true
          type: string
        AlbumArtist:
          description: Gets or sets the album artist.
          nullable: true
          type: string
        AlbumArtists:
          description: Gets or sets the album artists.
          items:
            $ref: "#/components/schemas/NameGuidPair"
          nullable: true
          type: array
        AlbumCount:
          description: Gets or sets the album count.
          format: int32
          nullable: true
          type: integer
        AlbumId:
          description: Gets or sets the album id.
          format: uuid
          nullable: true
          type: string
        AlbumPrimaryImageTag:
          description: Gets or sets the album image tag.
          nullable: true
          type: string
        Altitude:
          format: double
          nullable: true
          type: number
        Aperture:
          format: double
          nullable: true
          type: number
        ArtistCount:
          format: int32
          nullable: true
          type: integer
        ArtistItems:
          description: Gets or sets the artist items.
          items:
            $ref: "#/components/schemas/NameGuidPair"
          nullable: true
          type: array
        Artists:
          description: Gets or sets the artists.
          items:
            type: string
          nullable: true
          type: array
        AspectRatio:
          description: Gets or sets the aspect ratio.
          nullable: true
          type: string
        Audio:
          $ref: "#/components/schemas/ProgramAudio"
        BackdropImageTags:
          description: Gets or sets the backdrop image tags.
          items:
            type: string
          nullable: true
          type: array
        CameraMake:
          nullable: true
          type: string
        CameraModel:
          nullable: true
          type: string
        CanDelete:
          nullable: true
          type: boolean
        CanDownload:
          nullable: true
          type: boolean
        ChannelId:
          description: Gets or sets the channel identifier.
          format: uuid
          nullable: true
          type: string
        ChannelName:
          nullable: true
          type: string
        ChannelNumber:
          nullable: true
          type: string
        ChannelPrimaryImageTag:
          description: Gets or sets the channel primary image tag.
          nullable: true
          type: string
        ChannelType:
          $ref: "#/components/schemas/ChannelType"
        Chapters:
          description: Gets or sets the chapters.
          items:
            $ref: "#/components/schemas/ChapterInfo"
          nullable: true
          type: array
        ChildCount:
          description: Gets or sets the child count.
          format: int32
          nullable: true
          type: integer
        CollectionType:
          description: Gets or sets the type of the collection.
          nullable: true
          type: string
        CommunityRating:
          description: Gets or sets the community rating.
          format: float
          nullable: true
          type: number
        CompletionPercentage:
          description: Gets or sets the completion percentage.
          format: double
          nullable: true
          type: number
        Container:
          nullable: true
          type: string
        CriticRating:
          description: Gets or sets the critic rating.
          format: float
          nullable: true
          type: number
        CumulativeRunTimeTicks:
          description: Gets or sets the cumulative run time ticks.
          format: int64
          nullable: true
          type: integer
        CurrentProgram:
          $ref: "#/components/schemas/BaseItemDto"
        CustomRating:
          description: Gets or sets the custom rating.
          nullable: true
          type: string
        DateCreated:
          description: Gets or sets the date created.
          format: date-time
          nullable: true
          type: string
        DateLastMediaAdded:
          format: date-time
          nullable: true
          type: string
        DisplayOrder:
          description: Gets or sets the display order.
          nullable: true
          type: string
        DisplayPreferencesId:
          description: Gets or sets the display preferences id.
          nullable: true
          type: string
        EnableMediaSourceDisplay:
          nullable: true
          type: boolean
        EndDate:
          description: Gets or sets the end date.
          format: date-time
          nullable: true
          type: string
        EpisodeCount:
          description: Gets or sets the episode count.
          format: int32
          nullable: true
          type: integer
        EpisodeTitle:
          description: Gets or sets the episode title.
          nullable: true
          type: string
        Etag:
          description: Gets or sets the etag.
          nullable: true
          type: string
        ExposureTime:
          format: double
          nullable: true
          type: number
        ExternalUrls:
          description: Gets or sets the external urls.
          items:
            $ref: "#/components/schemas/ExternalUrl"
          nullable: true
          type: array
        ExtraType:
          nullable: true
          type: string
        FocalLength:
          format: double
          nullable: true
          type: number
        ForcedSortName:
          nullable: true
          type: string
        GenreItems:
          items:
            $ref: "#/components/schemas/NameGuidPair"
          nullable: true
          type: array
        Genres:
          description: Gets or sets the genres.
          items:
            type: string
          nullable: true
          type: array
        HasSubtitles:
          nullable: true
          type: boolean
        Height:
          format: int32
          nullable: true
          type: integer
        Id:
          description: Gets or sets the id.
          format: uuid
          type: string
        ImageBlurHashes:
          description: "Gets or sets the blurhashes for the image tags.\r

            Maps image type to dictionary mapping image tag to blurhash value."
          nullable: true
          properties:
            Art:
              additionalProperties:
                type: string
              type: object
            Backdrop:
              additionalProperties:
                type: string
              type: object
            Banner:
              additionalProperties:
                type: string
              type: object
            Box:
              additionalProperties:
                type: string
              type: object
            BoxRear:
              additionalProperties:
                type: string
              type: object
            Chapter:
              additionalProperties:
                type: string
              type: object
            Disc:
              additionalProperties:
                type: string
              type: object
            Logo:
              additionalProperties:
                type: string
              type: object
            Menu:
              additionalProperties:
                type: string
              type: object
            Primary:
              additionalProperties:
                type: string
              type: object
            Profile:
              additionalProperties:
                type: string
              type: object
            Screenshot:
              additionalProperties:
                type: string
              type: object
            Thumb:
              additionalProperties:
                type: string
              type: object
          type: object
        ImageOrientation:
          $ref: "#/components/schemas/ImageOrientation"
        ImageTags:
          additionalProperties:
            type: string
          description: Gets or sets the image tags.
          nullable: true
          type: object
        IndexNumber:
          description: Gets or sets the index number.
          format: int32
          nullable: true
          type: integer
        IndexNumberEnd:
          description: Gets or sets the index number end.
          format: int32
          nullable: true
          type: integer
        IsFolder:
          description: Gets or sets a value indicating whether this instance is folder.
          nullable: true
          type: boolean
        IsHD:
          description: Gets or sets a value indicating whether this instance is HD.
          nullable: true
          type: boolean
        IsKids:
          description: Gets or sets a value indicating whether this instance is kids.
          nullable: true
          type: boolean
        IsLive:
          description: Gets or sets a value indicating whether this instance is live.
          nullable: true
          type: boolean
        IsMovie:
          description: Gets or sets a value indicating whether this instance is movie.
          nullable: true
          type: boolean
        IsNews:
          description: Gets or sets a value indicating whether this instance is news.
          nullable: true
          type: boolean
        IsPlaceHolder:
          description: Gets or sets a value indicating whether this instance is place holder.
          nullable: true
          type: boolean
        IsPremiere:
          description: Gets or sets a value indicating whether this instance is premiere.
          nullable: true
          type: boolean
        IsRepeat:
          description: Gets or sets a value indicating whether this instance is repeat.
          nullable: true
          type: boolean
        IsSeries:
          description: Gets or sets a value indicating whether this instance is series.
          nullable: true
          type: boolean
        IsSports:
          description: Gets or sets a value indicating whether this instance is sports.
          nullable: true
          type: boolean
        IsoSpeedRating:
          format: int32
          nullable: true
          type: integer
        IsoType:
          $ref: "#/components/schemas/IsoType"
        Latitude:
          format: double
          nullable: true
          type: number
        LocalTrailerCount:
          description: Gets or sets the local trailer count.
          format: int32
          nullable: true
          type: integer
        LocationType:
          $ref: "#/components/schemas/LocationType"
        LockData:
          description: Gets or sets a value indicating whether [enable internet providers].
          nullable: true
          type: boolean
        LockedFields:
          description: Gets or sets the locked fields.
          items:
            $ref: "#/components/schemas/MetadataField"
          nullable: true
          type: array
        Longitude:
          format: double
          nullable: true
          type: number
        MediaSourceCount:
          format: int32
          nullable: true
          type: integer
        MediaSources:
          description: Gets or sets the media versions.
          items:
            $ref: "#/components/schemas/MediaSourceInfo"
          nullable: true
          type: array
        MediaStreams:
          description: Gets or sets the media streams.
          items:
            $ref: "#/components/schemas/MediaStream"
          nullable: true
          type: array
        MediaType:
          description: Gets or sets the type of the media.
          nullable: true
          type: string
        MovieCount:
          description: Gets or sets the movie count.
          format: int32
          nullable: true
          type: integer
        MusicVideoCount:
          description: Gets or sets the music video count.
          format: int32
          nullable: true
          type: integer
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Number:
          description: Gets or sets the number.
          nullable: true
          type: string
        OfficialRating:
          description: Gets or sets the official rating.
          nullable: true
          type: string
        OriginalTitle:
          nullable: true
          type: string
        Overview:
          description: Gets or sets the overview.
          nullable: true
          type: string
        ParentArtImageTag:
          description: Gets or sets the parent art image tag.
          nullable: true
          type: string
        ParentArtItemId:
          description: If the item does not have a art, this will hold the Id of the Parent that has one.
          nullable: true
          type: string
        ParentBackdropImageTags:
          description: Gets or sets the parent backdrop image tags.
          items:
            type: string
          nullable: true
          type: array
        ParentBackdropItemId:
          description: If the item does not have any backdrops, this will hold the Id of the Parent that has one.
          nullable: true
          type: string
        ParentId:
          description: Gets or sets the parent id.
          format: uuid
          nullable: true
          type: string
        ParentIndexNumber:
          description: Gets or sets the parent index number.
          format: int32
          nullable: true
          type: integer
        ParentLogoImageTag:
          description: Gets or sets the parent logo image tag.
          nullable: true
          type: string
        ParentLogoItemId:
          description: If the item does not have a logo, this will hold the Id of the Parent that has one.
          nullable: true
          type: string
        ParentPrimaryImageItemId:
          description: Gets or sets the parent primary image item identifier.
          nullable: true
          type: string
        ParentPrimaryImageTag:
          description: Gets or sets the parent primary image tag.
          nullable: true
          type: string
        ParentThumbImageTag:
          description: Gets or sets the parent thumb image tag.
          nullable: true
          type: string
        ParentThumbItemId:
          description: Gets or sets the parent thumb item id.
          nullable: true
          type: string
        PartCount:
          description: Gets or sets the part count.
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        People:
          description: Gets or sets the people.
          items:
            $ref: "#/components/schemas/BaseItemPerson"
          nullable: true
          type: array
        PlayAccess:
          $ref: "#/components/schemas/PlayAccess"
        PlaylistItemId:
          description: Gets or sets the playlist item identifier.
          nullable: true
          type: string
        PreferredMetadataCountryCode:
          nullable: true
          type: string
        PreferredMetadataLanguage:
          nullable: true
          type: string
        PremiereDate:
          description: Gets or sets the premiere date.
          format: date-time
          nullable: true
          type: string
        PrimaryImageAspectRatio:
          description: Gets or sets the primary image aspect ratio, after image enhancements.
          format: double
          nullable: true
          type: number
        ProductionLocations:
          items:
            type: string
          nullable: true
          type: array
        ProductionYear:
          description: Gets or sets the production year.
          format: int32
          nullable: true
          type: integer
        ProgramCount:
          format: int32
          nullable: true
          type: integer
        ProgramId:
          description: Gets or sets the program identifier.
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        RecursiveItemCount:
          description: Gets or sets the recursive item count.
          format: int32
          nullable: true
          type: integer
        RemoteTrailers:
          description: Gets or sets the trailer urls.
          items:
            $ref: "#/components/schemas/MediaUrl"
          nullable: true
          type: array
        RunTimeTicks:
          description: Gets or sets the run time ticks.
          format: int64
          nullable: true
          type: integer
        ScreenshotImageTags:
          description: Gets or sets the screenshot image tags.
          items:
            type: string
          nullable: true
          type: array
        SeasonId:
          description: Gets or sets the season identifier.
          format: uuid
          nullable: true
          type: string
        SeasonName:
          description: Gets or sets the name of the season.
          nullable: true
          type: string
        SeriesCount:
          description: Gets or sets the series count.
          format: int32
          nullable: true
          type: integer
        SeriesId:
          description: Gets or sets the series id.
          format: uuid
          nullable: true
          type: string
        SeriesName:
          description: Gets or sets the name of the series.
          nullable: true
          type: string
        SeriesPrimaryImageTag:
          description: Gets or sets the series primary image tag.
          nullable: true
          type: string
        SeriesStudio:
          description: Gets or sets the series studio.
          nullable: true
          type: string
        SeriesThumbImageTag:
          description: Gets or sets the series thumb image tag.
          nullable: true
          type: string
        SeriesTimerId:
          description: Gets or sets the series timer identifier.
          nullable: true
          type: string
        ServerId:
          description: Gets or sets the server identifier.
          nullable: true
          type: string
        ShutterSpeed:
          format: double
          nullable: true
          type: number
        Software:
          nullable: true
          type: string
        SongCount:
          description: Gets or sets the song count.
          format: int32
          nullable: true
          type: integer
        SortName:
          description: Gets or sets the name of the sort.
          nullable: true
          type: string
        SourceType:
          description: Gets or sets the type of the source.
          nullable: true
          type: string
        SpecialFeatureCount:
          description: Gets or sets the special feature count.
          format: int32
          nullable: true
          type: integer
        StartDate:
          description: The start date of the recording, in UTC.
          format: date-time
          nullable: true
          type: string
        Status:
          description: Gets or sets the status.
          nullable: true
          type: string
        Studios:
          description: Gets or sets the studios.
          items:
            $ref: "#/components/schemas/NameGuidPair"
          nullable: true
          type: array
        SupportsSync:
          description: Gets or sets a value indicating whether [supports synchronize].
          nullable: true
          type: boolean
        Taglines:
          description: Gets or sets the taglines.
          items:
            type: string
          nullable: true
          type: array
        Tags:
          description: Gets or sets the tags.
          items:
            type: string
          nullable: true
          type: array
        TimerId:
          description: Gets or sets the timer identifier.
          nullable: true
          type: string
        TrailerCount:
          description: Gets or sets the trailer count.
          format: int32
          nullable: true
          type: integer
        Type:
          description: Gets or sets the type.
          nullable: true
          type: string
        UserData:
          $ref: "#/components/schemas/UserItemDataDto"
        Video3DFormat:
          $ref: "#/components/schemas/Video3DFormat"
        VideoType:
          $ref: "#/components/schemas/VideoType"
        Width:
          format: int32
          nullable: true
          type: integer
      type: object
    BaseItemDtoQueryResult:
      additionalProperties: false
      properties:
        Items:
          description: Gets or sets the items.
          items:
            $ref: "#/components/schemas/BaseItemDto"
          nullable: true
          type: array
        StartIndex:
          description: The index of the first record in Items.
          format: int32
          type: integer
        TotalRecordCount:
          description: The total number of records available.
          format: int32
          type: integer
      type: object
    BaseItemPerson:
      additionalProperties: false
      description: This is used by the api to get information about a Person within a BaseItem.
      properties:
        Id:
          description: Gets or sets the identifier.
          nullable: true
          type: string
        ImageBlurHashes:
          description: Gets or sets the primary image blurhash.
          nullable: true
          properties:
            Art:
              additionalProperties:
                type: string
              type: object
            Backdrop:
              additionalProperties:
                type: string
              type: object
            Banner:
              additionalProperties:
                type: string
              type: object
            Box:
              additionalProperties:
                type: string
              type: object
            BoxRear:
              additionalProperties:
                type: string
              type: object
            Chapter:
              additionalProperties:
                type: string
              type: object
            Disc:
              additionalProperties:
                type: string
              type: object
            Logo:
              additionalProperties:
                type: string
              type: object
            Menu:
              additionalProperties:
                type: string
              type: object
            Primary:
              additionalProperties:
                type: string
              type: object
            Profile:
              additionalProperties:
                type: string
              type: object
            Screenshot:
              additionalProperties:
                type: string
              type: object
            Thumb:
              additionalProperties:
                type: string
              type: object
          type: object
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        PrimaryImageTag:
          description: Gets or sets the primary image tag.
          nullable: true
          type: string
        Role:
          description: Gets or sets the role.
          nullable: true
          type: string
        Type:
          description: Gets or sets the type.
          nullable: true
          type: string
      type: object
    BasePluginConfiguration:
      additionalProperties: false
      description: Class BasePluginConfiguration.
      type: object
    BookInfo:
      additionalProperties: false
      properties:
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        SeriesName:
          nullable: true
          type: string
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    BookInfoRemoteSearchQuery:
      additionalProperties: false
      properties:
        IncludeDisabledProviders:
          description: Gets or sets a value indicating whether disabled providers should be included.
          type: boolean
        ItemId:
          format: uuid
          type: string
        SearchInfo:
          $ref: "#/components/schemas/BookInfo"
        SearchProviderName:
          description: Will only search within the given provider when set.
          nullable: true
          type: string
      type: object
    BoxSetInfo:
      additionalProperties: false
      properties:
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    BoxSetInfoRemoteSearchQuery:
      additionalProperties: false
      properties:
        IncludeDisabledProviders:
          description: Gets or sets a value indicating whether disabled providers should be included.
          type: boolean
        ItemId:
          format: uuid
          type: string
        SearchInfo:
          $ref: "#/components/schemas/BoxSetInfo"
        SearchProviderName:
          description: Will only search within the given provider when set.
          nullable: true
          type: string
      type: object
    BrandingOptions:
      additionalProperties: false
      properties:
        CustomCss:
          description: Gets or sets the custom CSS.
          nullable: true
          type: string
        LoginDisclaimer:
          description: Gets or sets the login disclaimer.
          nullable: true
          type: string
      type: object
    BufferRequestDto:
      additionalProperties: false
      description: Class BufferRequestDto.
      properties:
        IsPlaying:
          description: Gets or sets a value indicating whether the client playback is unpaused.
          type: boolean
        PlaylistItemId:
          description: Gets or sets the playlist item identifier of the playing item.
          format: uuid
          type: string
        PositionTicks:
          description: Gets or sets the position ticks.
          format: int64
          type: integer
        When:
          description: Gets or sets when the request has been made by the client.
          format: date-time
          type: string
      type: object
    ChannelFeatures:
      additionalProperties: false
      properties:
        AutoRefreshLevels:
          description: Gets or sets the automatic refresh levels.
          format: int32
          nullable: true
          type: integer
        CanFilter:
          description: Gets or sets a value indicating whether this instance can filter.
          type: boolean
        CanSearch:
          description: Gets or sets a value indicating whether this instance can search.
          type: boolean
        ContentTypes:
          description: Gets or sets the content types.
          items:
            $ref: "#/components/schemas/ChannelMediaContentType"
          nullable: true
          type: array
        DefaultSortFields:
          description: Gets or sets the default sort orders.
          items:
            $ref: "#/components/schemas/ChannelItemSortField"
          nullable: true
          type: array
        Id:
          description: Gets or sets the identifier.
          nullable: true
          type: string
        MaxPageSize:
          description: Represents the maximum number of records the channel allows retrieving at a time.
          format: int32
          nullable: true
          type: integer
        MediaTypes:
          description: Gets or sets the media types.
          items:
            $ref: "#/components/schemas/ChannelMediaType"
          nullable: true
          type: array
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        SupportsContentDownloading:
          description: Gets or sets a value indicating whether [supports content downloading].
          type: boolean
        SupportsLatestMedia:
          description: Gets or sets a value indicating whether [supports latest media].
          type: boolean
        SupportsSortOrderToggle:
          description: Indicates if a sort ascending/descending toggle is supported or not.
          type: boolean
      type: object
    ChannelItemSortField:
      enum:
        - Name
        - CommunityRating
        - PremiereDate
        - DateCreated
        - Runtime
        - PlayCount
        - CommunityPlayCount
      type: string
    ChannelMappingOptionsDto:
      additionalProperties: false
      description: Channel mapping options dto.
      properties:
        Mappings:
          description: Gets or sets list of mappings.
          items:
            $ref: "#/components/schemas/NameValuePair"
          nullable: true
          type: array
        ProviderChannels:
          description: Gets or sets list of provider channels.
          items:
            $ref: "#/components/schemas/NameIdPair"
          nullable: true
          type: array
        ProviderName:
          description: Gets or sets provider name.
          nullable: true
          type: string
        TunerChannels:
          description: Gets or sets list of tuner channels.
          items:
            $ref: "#/components/schemas/TunerChannelMapping"
          nullable: true
          type: array
      type: object
    ChannelMediaContentType:
      enum:
        - Clip
        - Podcast
        - Trailer
        - Movie
        - Episode
        - Song
        - MovieExtra
        - TvExtra
      type: string
    ChannelMediaType:
      enum:
        - Audio
        - Video
        - Photo
      type: string
    ChannelType:
      description: Enum ChannelType.
      enum:
        - TV
        - Radio
      type: string
    ChapterInfo:
      additionalProperties: false
      description: Class ChapterInfo.
      properties:
        ImageDateModified:
          format: date-time
          type: string
        ImagePath:
          description: Gets or sets the image path.
          nullable: true
          type: string
        ImageTag:
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        StartPositionTicks:
          description: Gets or sets the start position ticks.
          format: int64
          type: integer
      type: object
    ClientCapabilities:
      additionalProperties: false
      properties:
        AppStoreUrl:
          nullable: true
          type: string
        DeviceProfile:
          $ref: "#/components/schemas/DeviceProfile"
        IconUrl:
          nullable: true
          type: string
        MessageCallbackUrl:
          nullable: true
          type: string
        PlayableMediaTypes:
          items:
            type: string
          nullable: true
          type: array
        SupportedCommands:
          items:
            $ref: "#/components/schemas/GeneralCommandType"
          nullable: true
          type: array
        SupportsContentUploading:
          type: boolean
        SupportsMediaControl:
          type: boolean
        SupportsPersistentIdentifier:
          type: boolean
        SupportsSync:
          type: boolean
      type: object
    ClientCapabilitiesDto:
      additionalProperties: false
      description: Client capabilities dto.
      properties:
        AppStoreUrl:
          description: Gets or sets the app store url.
          nullable: true
          type: string
        DeviceProfile:
          $ref: "#/components/schemas/DeviceProfile"
        IconUrl:
          description: Gets or sets the icon url.
          nullable: true
          type: string
        MessageCallbackUrl:
          description: Gets or sets the message callback url.
          nullable: true
          type: string
        PlayableMediaTypes:
          description: Gets or sets the list of playable media types.
          items:
            type: string
          nullable: true
          type: array
        SupportedCommands:
          description: Gets or sets the list of supported commands.
          items:
            $ref: "#/components/schemas/GeneralCommandType"
          nullable: true
          type: array
        SupportsContentUploading:
          description: Gets or sets a value indicating whether session supports content uploading.
          type: boolean
        SupportsMediaControl:
          description: Gets or sets a value indicating whether session supports media control.
          type: boolean
        SupportsPersistentIdentifier:
          description: Gets or sets a value indicating whether session supports a persistent identifier.
          type: boolean
        SupportsSync:
          description: Gets or sets a value indicating whether session supports sync.
          type: boolean
      type: object
    CodecProfile:
      additionalProperties: false
      properties:
        ApplyConditions:
          items:
            $ref: "#/components/schemas/ProfileCondition"
          nullable: true
          type: array
        Codec:
          nullable: true
          type: string
        Conditions:
          items:
            $ref: "#/components/schemas/ProfileCondition"
          nullable: true
          type: array
        Container:
          nullable: true
          type: string
        Type:
          $ref: "#/components/schemas/CodecType"
      type: object
    CodecType:
      enum:
        - Video
        - VideoAudio
        - Audio
      type: string
    CollectionCreationResult:
      additionalProperties: false
      properties:
        Id:
          format: uuid
          type: string
      type: object
    ConfigurationPageInfo:
      additionalProperties: false
      description: The configuration page info.
      properties:
        ConfigurationPageType:
          $ref: "#/components/schemas/ConfigurationPageType"
        DisplayName:
          description: Gets or sets the display name.
          nullable: true
          type: string
        EnableInMainMenu:
          description: Gets or sets a value indicating whether the configurations page is enabled in the main menu.
          type: boolean
        MenuIcon:
          description: Gets or sets the menu icon.
          nullable: true
          type: string
        MenuSection:
          description: Gets or sets the menu section.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        PluginId:
          description: Gets or sets the plugin id.
          format: uuid
          nullable: true
          type: string
      type: object
    ConfigurationPageType:
      description: Enum ConfigurationPageType.
      enum:
        - PluginConfiguration
        - None
      type: string
    ContainerProfile:
      additionalProperties: false
      properties:
        Conditions:
          items:
            $ref: "#/components/schemas/ProfileCondition"
          nullable: true
          type: array
        Container:
          nullable: true
          type: string
        Type:
          $ref: "#/components/schemas/DlnaProfileType"
      type: object
    ControlResponse:
      additionalProperties: false
      properties:
        Headers:
          additionalProperties:
            type: string
          nullable: true
          readOnly: true
          type: object
        IsSuccessful:
          type: boolean
        Xml:
          nullable: true
          type: string
      type: object
    CountryInfo:
      additionalProperties: false
      description: Class CountryInfo.
      properties:
        DisplayName:
          description: Gets or sets the display name.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ThreeLetterISORegionName:
          description: Gets or sets the name of the three letter ISO region.
          nullable: true
          type: string
        TwoLetterISORegionName:
          description: Gets or sets the name of the two letter ISO region.
          nullable: true
          type: string
      type: object
    CreatePlaylistDto:
      additionalProperties: false
      description: Create new playlist dto.
      properties:
        Ids:
          description: Gets or sets item ids to add to the playlist.
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        MediaType:
          description: Gets or sets the media type.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name of the new playlist.
          nullable: true
          type: string
        UserId:
          description: Gets or sets the user id.
          format: uuid
          nullable: true
          type: string
      type: object
    CreateUserByName:
      additionalProperties: false
      description: The create user by name request body.
      properties:
        Name:
          description: Gets or sets the username.
          nullable: true
          type: string
        Password:
          description: Gets or sets the password.
          nullable: true
          type: string
      type: object
    CultureDto:
      additionalProperties: false
      description: Class CultureDto.
      properties:
        DisplayName:
          description: Gets or sets the display name.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ThreeLetterISOLanguageName:
          description: Gets or sets the name of the three letter ISO language.
          nullable: true
          readOnly: true
          type: string
        ThreeLetterISOLanguageNames:
          items:
            type: string
          nullable: true
          type: array
        TwoLetterISOLanguageName:
          description: Gets or sets the name of the two letter ISO language.
          nullable: true
          type: string
      type: object
    DayOfWeek:
      enum:
        - Sunday
        - Monday
        - Tuesday
        - Wednesday
        - Thursday
        - Friday
        - Saturday
      type: string
    DayPattern:
      enum:
        - Daily
        - Weekdays
        - Weekends
      type: string
    DefaultDirectoryBrowserInfoDto:
      additionalProperties: false
      description: Default directory browser info.
      properties:
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
      type: object
    DeviceIdentification:
      additionalProperties: false
      properties:
        FriendlyName:
          description: Gets or sets the name of the friendly.
          nullable: true
          type: string
        Headers:
          description: Gets or sets the headers.
          items:
            $ref: "#/components/schemas/HttpHeaderInfo"
          nullable: true
          type: array
        Manufacturer:
          description: Gets or sets the manufacturer.
          nullable: true
          type: string
        ManufacturerUrl:
          description: Gets or sets the manufacturer URL.
          nullable: true
          type: string
        ModelDescription:
          description: Gets or sets the model description.
          nullable: true
          type: string
        ModelName:
          description: Gets or sets the name of the model.
          nullable: true
          type: string
        ModelNumber:
          description: Gets or sets the model number.
          nullable: true
          type: string
        ModelUrl:
          description: Gets or sets the model URL.
          nullable: true
          type: string
        SerialNumber:
          description: Gets or sets the serial number.
          nullable: true
          type: string
      type: object
    DeviceInfo:
      additionalProperties: false
      properties:
        AppName:
          description: Gets or sets the name of the application.
          nullable: true
          type: string
        AppVersion:
          description: Gets or sets the application version.
          nullable: true
          type: string
        Capabilities:
          $ref: "#/components/schemas/ClientCapabilities"
        DateLastActivity:
          description: Gets or sets the date last modified.
          format: date-time
          type: string
        IconUrl:
          nullable: true
          type: string
        Id:
          description: Gets or sets the identifier.
          nullable: true
          type: string
        LastUserId:
          description: Gets or sets the last user identifier.
          format: uuid
          type: string
        LastUserName:
          description: Gets or sets the last name of the user.
          nullable: true
          type: string
        Name:
          nullable: true
          type: string
      type: object
    DeviceInfoQueryResult:
      additionalProperties: false
      properties:
        Items:
          description: Gets or sets the items.
          items:
            $ref: "#/components/schemas/DeviceInfo"
          nullable: true
          type: array
        StartIndex:
          description: The index of the first record in Items.
          format: int32
          type: integer
        TotalRecordCount:
          description: The total number of records available.
          format: int32
          type: integer
      type: object
    DeviceOptions:
      additionalProperties: false
      properties:
        CustomName:
          nullable: true
          type: string
      type: object
    DeviceProfile:
      additionalProperties: false
      description: Defines the MediaBrowser.Model.Dlna.DeviceProfile.
      properties:
        AlbumArtPn:
          description: Gets or sets the AlbumArtPn.
          nullable: true
          type: string
        CodecProfiles:
          description: Gets or sets the CodecProfiles.
          items:
            $ref: "#/components/schemas/CodecProfile"
          nullable: true
          type: array
        ContainerProfiles:
          description: Gets or sets the ContainerProfiles.
          items:
            $ref: "#/components/schemas/ContainerProfile"
          nullable: true
          type: array
        DirectPlayProfiles:
          description: Gets or sets the direct play profiles.
          items:
            $ref: "#/components/schemas/DirectPlayProfile"
          nullable: true
          type: array
        EnableAlbumArtInDidl:
          description: Gets or sets a value indicating whether EnableAlbumArtInDidl.
          type: boolean
        EnableMSMediaReceiverRegistrar:
          description: Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar.
          type: boolean
        EnableSingleAlbumArtLimit:
          description: Gets or sets a value indicating whether EnableSingleAlbumArtLimit.
          type: boolean
        EnableSingleSubtitleLimit:
          description: Gets or sets a value indicating whether EnableSingleSubtitleLimit.
          type: boolean
        FriendlyName:
          description: Gets or sets the FriendlyName.
          nullable: true
          type: string
        Id:
          description: Gets or sets the Id.
          nullable: true
          type: string
        Identification:
          $ref: "#/components/schemas/DeviceIdentification"
        IgnoreTranscodeByteRangeRequests:
          description: Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests.
          type: boolean
        Manufacturer:
          description: Gets or sets the Manufacturer.
          nullable: true
          type: string
        ManufacturerUrl:
          description: Gets or sets the ManufacturerUrl.
          nullable: true
          type: string
        MaxAlbumArtHeight:
          description: Gets or sets the MaxAlbumArtHeight.
          format: int32
          type: integer
        MaxAlbumArtWidth:
          description: Gets or sets the MaxAlbumArtWidth.
          format: int32
          type: integer
        MaxIconHeight:
          description: Gets or sets the MaxIconHeight.
          format: int32
          nullable: true
          type: integer
        MaxIconWidth:
          description: Gets or sets the MaxIconWidth.
          format: int32
          nullable: true
          type: integer
        MaxStaticBitrate:
          description: Gets or sets the MaxStaticBitrate.
          format: int32
          nullable: true
          type: integer
        MaxStaticMusicBitrate:
          description: Gets or sets the MaxStaticMusicBitrate.
          format: int32
          nullable: true
          type: integer
        MaxStreamingBitrate:
          description: Gets or sets the MaxStreamingBitrate.
          format: int32
          nullable: true
          type: integer
        ModelDescription:
          description: Gets or sets the ModelDescription.
          nullable: true
          type: string
        ModelName:
          description: Gets or sets the ModelName.
          nullable: true
          type: string
        ModelNumber:
          description: Gets or sets the ModelNumber.
          nullable: true
          type: string
        ModelUrl:
          description: Gets or sets the ModelUrl.
          nullable: true
          type: string
        MusicStreamingTranscodingBitrate:
          description: Gets or sets the MusicStreamingTranscodingBitrate.
          format: int32
          nullable: true
          type: integer
        Name:
          description: Gets or sets the Name.
          nullable: true
          type: string
        ProtocolInfo:
          description: Gets or sets the ProtocolInfo.
          nullable: true
          type: string
        RequiresPlainFolders:
          description: Gets or sets a value indicating whether RequiresPlainFolders.
          type: boolean
        RequiresPlainVideoItems:
          description: Gets or sets a value indicating whether RequiresPlainVideoItems.
          type: boolean
        ResponseProfiles:
          description: Gets or sets the ResponseProfiles.
          items:
            $ref: "#/components/schemas/ResponseProfile"
          nullable: true
          type: array
        SerialNumber:
          description: Gets or sets the SerialNumber.
          nullable: true
          type: string
        SonyAggregationFlags:
          description: Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.
          nullable: true
          type: string
        SubtitleProfiles:
          description: Gets or sets the SubtitleProfiles.
          items:
            $ref: "#/components/schemas/SubtitleProfile"
          nullable: true
          type: array
        SupportedMediaTypes:
          description: Gets or sets the SupportedMediaTypes.
          nullable: true
          type: string
        TimelineOffsetSeconds:
          description: Gets or sets the TimelineOffsetSeconds.
          format: int32
          type: integer
        TranscodingProfiles:
          description: Gets or sets the transcoding profiles.
          items:
            $ref: "#/components/schemas/TranscodingProfile"
          nullable: true
          type: array
        UserId:
          description: Gets or sets the UserId.
          nullable: true
          type: string
        XmlRootAttributes:
          description: Gets or sets the XmlRootAttributes.
          items:
            $ref: "#/components/schemas/XmlAttribute"
          nullable: true
          type: array
      type: object
    DeviceProfileInfo:
      additionalProperties: false
      properties:
        Id:
          description: Gets or sets the identifier.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Type:
          $ref: "#/components/schemas/DeviceProfileType"
      type: object
    DeviceProfileType:
      enum:
        - System
        - User
      type: string
    DirectPlayProfile:
      additionalProperties: false
      properties:
        AudioCodec:
          nullable: true
          type: string
        Container:
          nullable: true
          type: string
        Type:
          $ref: "#/components/schemas/DlnaProfileType"
        VideoCodec:
          nullable: true
          type: string
      type: object
    DisplayPreferencesDto:
      additionalProperties: false
      description: Defines the display preferences for any item that supports them (usually Folders).
      properties:
        Client:
          description: Gets or sets the client.
          nullable: true
          type: string
        CustomPrefs:
          additionalProperties:
            type: string
          description: Gets or sets the custom prefs.
          nullable: true
          type: object
        Id:
          description: Gets or sets the user id.
          nullable: true
          type: string
        IndexBy:
          description: Gets or sets the index by.
          nullable: true
          type: string
        PrimaryImageHeight:
          description: Gets or sets the height of the primary image.
          format: int32
          type: integer
        PrimaryImageWidth:
          description: Gets or sets the width of the primary image.
          format: int32
          type: integer
        RememberIndexing:
          description: Gets or sets a value indicating whether [remember indexing].
          type: boolean
        RememberSorting:
          description: Gets or sets a value indicating whether [remember sorting].
          type: boolean
        ScrollDirection:
          $ref: "#/components/schemas/ScrollDirection"
        ShowBackdrop:
          description: Gets or sets a value indicating whether to show backdrops on this item.
          type: boolean
        ShowSidebar:
          description: Gets or sets a value indicating whether [show sidebar].
          type: boolean
        SortBy:
          description: Gets or sets the sort by.
          nullable: true
          type: string
        SortOrder:
          $ref: "#/components/schemas/SortOrder"
        ViewType:
          description: Gets or sets the type of the view.
          nullable: true
          type: string
      type: object
    DlnaProfileType:
      enum:
        - Audio
        - Video
        - Photo
      type: string
    DynamicDayOfWeek:
      description: An enum that represents a day of the week, weekdays, weekends, or all days.
      enum:
        - Sunday
        - Monday
        - Tuesday
        - Wednesday
        - Thursday
        - Friday
        - Saturday
        - Everyday
        - Weekday
        - Weekend
      type: string
    EncodingContext:
      enum:
        - Streaming
        - Static
      type: string
    EndPointInfo:
      additionalProperties: false
      properties:
        IsInNetwork:
          type: boolean
        IsLocal:
          type: boolean
      type: object
    ExternalIdInfo:
      additionalProperties: false
      description: Represents the external id information for serialization to the client.
      properties:
        Key:
          description: Gets or sets the unique key for this id. This key should be unique across all providers.
          nullable: true
          type: string
        Name:
          description: "Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc)."
          nullable: true
          type: string
        Type:
          $ref: "#/components/schemas/ExternalIdMediaType"
        UrlFormatString:
          description: Gets or sets the URL format string.
          nullable: true
          type: string
      type: object
    ExternalIdMediaType:
      description: The specific media type of an MediaBrowser.Model.Providers.ExternalIdInfo.
      enum:
        - Album
        - AlbumArtist
        - Artist
        - BoxSet
        - Episode
        - Movie
        - OtherArtist
        - Person
        - ReleaseGroup
        - Season
        - Series
        - Track
      type: string
    ExternalUrl:
      additionalProperties: false
      properties:
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Url:
          description: Gets or sets the type of the item.
          nullable: true
          type: string
      type: object
    FFmpegLocation:
      description: Enum describing the location of the FFmpeg tool.
      enum:
        - NotFound
        - SetByArgument
        - Custom
        - System
      type: string
    FileSystemEntryInfo:
      additionalProperties: false
      description: Class FileSystemEntryInfo.
      properties:
        Name:
          description: Gets the name.
          nullable: true
          readOnly: true
          type: string
        Path:
          description: Gets the path.
          nullable: true
          readOnly: true
          type: string
        Type:
          $ref: "#/components/schemas/FileSystemEntryType"
      type: object
    FileSystemEntryType:
      description: Enum FileSystemEntryType.
      enum:
        - File
        - Directory
        - NetworkComputer
        - NetworkShare
      type: string
    FontFile:
      additionalProperties: false
      description: Class FontFile.
      properties:
        DateCreated:
          description: Gets or sets the date created.
          format: date-time
          type: string
        DateModified:
          description: Gets or sets the date modified.
          format: date-time
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Size:
          description: Gets or sets the size.
          format: int64
          type: integer
      type: object
    ForgotPasswordAction:
      enum:
        - ContactAdmin
        - PinCode
        - InNetworkRequired
      type: string
    ForgotPasswordDto:
      additionalProperties: false
      description: Forgot Password request body DTO.
      properties:
        EnteredUsername:
          description: Gets or sets the entered username to have its password reset.
          type: string
      required:
        - EnteredUsername
      type: object
    ForgotPasswordResult:
      additionalProperties: false
      properties:
        Action:
          $ref: "#/components/schemas/ForgotPasswordAction"
        PinExpirationDate:
          description: Gets or sets the pin expiration date.
          format: date-time
          nullable: true
          type: string
        PinFile:
          description: Gets or sets the pin file.
          nullable: true
          type: string
      type: object
    GeneralCommand:
      additionalProperties: false
      properties:
        Arguments:
          additionalProperties:
            type: string
          nullable: true
          type: object
        ControllingUserId:
          format: uuid
          type: string
        Name:
          $ref: "#/components/schemas/GeneralCommandType"
      type: object
    GeneralCommandType:
      description: This exists simply to identify a set of known commands.
      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
      type: string
    GetProgramsDto:
      additionalProperties: false
      description: Get programs dto.
      properties:
        ChannelIds:
          description: Gets or sets the channels to return guide information for.
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        EnableImageTypes:
          description: "Gets or sets the image types to include in the output.\r

            Optional."
          items:
            $ref: "#/components/schemas/ImageType"
          nullable: true
          type: array
        EnableImages:
          description: "Gets or sets include image information in output.\r

            Optional."
          nullable: true
          type: boolean
        EnableTotalRecordCount:
          description: Gets or sets a value indicating whether retrieve total record count.
          type: boolean
        EnableUserData:
          description: "Gets or sets include user data.\r

            Optional."
          nullable: true
          type: boolean
        Fields:
          description: "Gets or sets 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.\r

            Optional."
          items:
            $ref: "#/components/schemas/ItemFields"
          nullable: true
          type: array
        GenreIds:
          description: Gets or sets the genre ids to return guide information for.
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        Genres:
          description: Gets or sets the genres to return guide information for.
          items:
            type: string
          nullable: true
          type: array
        HasAired:
          description: "Gets or sets filter by programs that have completed airing, or not.\r

            Optional."
          nullable: true
          type: boolean
        ImageTypeLimit:
          description: "Gets or sets the max number of images to return, per image type.\r

            Optional."
          format: int32
          nullable: true
          type: integer
        IsAiring:
          description: "Gets or sets filter by programs that are currently airing, or not.\r

            Optional."
          nullable: true
          type: boolean
        IsKids:
          description: "Gets or sets filter for kids.\r

            Optional."
          nullable: true
          type: boolean
        IsMovie:
          description: "Gets or sets filter for movies.\r

            Optional."
          nullable: true
          type: boolean
        IsNews:
          description: "Gets or sets filter for news.\r

            Optional."
          nullable: true
          type: boolean
        IsSeries:
          description: "Gets or sets filter for series.\r

            Optional."
          nullable: true
          type: boolean
        IsSports:
          description: "Gets or sets filter for sports.\r

            Optional."
          nullable: true
          type: boolean
        LibrarySeriesId:
          description: "Gets or sets filter by library series id.\r

            Optional."
          format: uuid
          type: string
        Limit:
          description: "Gets or sets the maximum number of records to return.\r

            Optional."
          format: int32
          nullable: true
          type: integer
        MaxEndDate:
          description: "Gets or sets the maximum premiere end date.\r

            Optional."
          format: date-time
          nullable: true
          type: string
        MaxStartDate:
          description: "Gets or sets the maximum premiere start date.\r

            Optional."
          format: date-time
          nullable: true
          type: string
        MinEndDate:
          description: "Gets or sets the minimum premiere end date.\r

            Optional."
          format: date-time
          nullable: true
          type: string
        MinStartDate:
          description: "Gets or sets the minimum premiere start date.\r

            Optional."
          format: date-time
          nullable: true
          type: string
        SeriesTimerId:
          description: "Gets or sets filter by series timer id.\r

            Optional."
          nullable: true
          type: string
        SortBy:
          description: "Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.\r

            Optional."
          nullable: true
          type: string
        SortOrder:
          description: Gets or sets sort Order - Ascending,Descending.
          nullable: true
          type: string
        StartIndex:
          description: "Gets or sets the record index to start at. All items with a lower index will be dropped from the results.\r

            Optional."
          format: int32
          nullable: true
          type: integer
        UserId:
          description: Gets or sets optional. Filter by user id.
          format: uuid
          type: string
      type: object
    GroupInfoDto:
      additionalProperties: false
      description: Class GroupInfoDto.
      properties:
        GroupId:
          description: Gets the group identifier.
          format: uuid
          readOnly: true
          type: string
        GroupName:
          description: Gets the group name.
          nullable: true
          readOnly: true
          type: string
        LastUpdatedAt:
          description: Gets the date when this DTO has been created.
          format: date-time
          readOnly: true
          type: string
        Participants:
          description: Gets the participants.
          items:
            type: string
          nullable: true
          readOnly: true
          type: array
        State:
          $ref: "#/components/schemas/GroupStateType"
      type: object
    GroupQueueMode:
      description: Enum GroupQueueMode.
      enum:
        - Queue
        - QueueNext
      type: string
    GroupRepeatMode:
      description: Enum GroupRepeatMode.
      enum:
        - RepeatOne
        - RepeatAll
        - RepeatNone
      type: string
    GroupShuffleMode:
      description: Enum GroupShuffleMode.
      enum:
        - Sorted
        - Shuffle
      type: string
    GroupStateType:
      description: Enum GroupState.
      enum:
        - Idle
        - Waiting
        - Paused
        - Playing
      type: string
    GroupUpdateType:
      description: Enum GroupUpdateType.
      enum:
        - UserJoined
        - UserLeft
        - GroupJoined
        - GroupLeft
        - StateUpdate
        - PlayQueue
        - NotInGroup
        - GroupDoesNotExist
        - CreateGroupDenied
        - JoinGroupDenied
        - LibraryAccessDenied
      type: string
    GuideInfo:
      additionalProperties: false
      properties:
        EndDate:
          description: Gets or sets the end date.
          format: date-time
          type: string
        StartDate:
          description: Gets or sets the start date.
          format: date-time
          type: string
      type: object
    HeaderMatchType:
      enum:
        - Equals
        - Regex
        - Substring
      type: string
    HttpHeaderInfo:
      additionalProperties: false
      properties:
        Match:
          $ref: "#/components/schemas/HeaderMatchType"
        Name:
          nullable: true
          type: string
        Value:
          nullable: true
          type: string
      type: object
    IPlugin:
      additionalProperties: false
      description: Defines the MediaBrowser.Common.Plugins.IPlugin.
      properties:
        AssemblyFilePath:
          description: Gets the path to the assembly file.
          nullable: true
          readOnly: true
          type: string
        CanUninstall:
          description: Gets a value indicating whether the plugin can be uninstalled.
          readOnly: true
          type: boolean
        DataFolderPath:
          description: Gets the full path to the data folder, where the plugin can store any miscellaneous files needed.
          nullable: true
          readOnly: true
          type: string
        Description:
          description: Gets the Description.
          nullable: true
          readOnly: true
          type: string
        Id:
          description: Gets the unique id.
          format: uuid
          readOnly: true
          type: string
        Name:
          description: Gets the name of the plugin.
          nullable: true
          readOnly: true
          type: string
        Version:
          $ref: "#/components/schemas/Version"
      type: object
    IgnoreWaitRequestDto:
      additionalProperties: false
      description: Class IgnoreWaitRequestDto.
      properties:
        IgnoreWait:
          description: Gets or sets a value indicating whether the client should be ignored.
          type: boolean
      type: object
    ImageByNameInfo:
      additionalProperties: false
      properties:
        Context:
          description: Gets or sets the context.
          nullable: true
          type: string
        FileLength:
          description: Gets or sets the length of the file.
          format: int64
          type: integer
        Format:
          description: Gets or sets the format.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Theme:
          description: Gets or sets the theme.
          nullable: true
          type: string
      type: object
    ImageFormat:
      description: Enum ImageOutputFormat.
      enum:
        - Bmp
        - Gif
        - Jpg
        - Png
        - Webp
      type: string
    ImageInfo:
      additionalProperties: false
      description: Class ImageInfo.
      properties:
        BlurHash:
          description: Gets or sets the blurhash.
          nullable: true
          type: string
        Height:
          description: Gets or sets the height.
          format: int32
          nullable: true
          type: integer
        ImageIndex:
          description: Gets or sets the index of the image.
          format: int32
          nullable: true
          type: integer
        ImageTag:
          description: Gets or sets the image tag.
          nullable: true
          type: string
        ImageType:
          $ref: "#/components/schemas/ImageType"
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        Size:
          description: Gets or sets the size.
          format: int64
          type: integer
        Width:
          description: Gets or sets the width.
          format: int32
          nullable: true
          type: integer
      type: object
    ImageOption:
      additionalProperties: false
      properties:
        Limit:
          description: Gets or sets the limit.
          format: int32
          type: integer
        MinWidth:
          description: Gets or sets the minimum width.
          format: int32
          type: integer
        Type:
          $ref: "#/components/schemas/ImageType"
      type: object
    ImageOrientation:
      enum:
        - TopLeft
        - TopRight
        - BottomRight
        - BottomLeft
        - LeftTop
        - RightTop
        - RightBottom
        - LeftBottom
      type: string
    ImageProviderInfo:
      additionalProperties: false
      description: Class ImageProviderInfo.
      properties:
        Name:
          description: Gets the name.
          nullable: true
          readOnly: true
          type: string
        SupportedImages:
          description: Gets the supported image types.
          items:
            $ref: "#/components/schemas/ImageType"
          nullable: true
          readOnly: true
          type: array
      type: object
    ImageSavingConvention:
      enum:
        - Legacy
        - Compatible
      type: string
    ImageType:
      description: Enum ImageType.
      enum:
        - Primary
        - Art
        - Backdrop
        - Banner
        - Logo
        - Thumb
        - Disc
        - Box
        - Screenshot
        - Menu
        - Chapter
        - BoxRear
        - Profile
      type: string
    InstallationInfo:
      additionalProperties: false
      description: Class InstallationInfo.
      properties:
        Changelog:
          description: Gets or sets the changelog for this version.
          nullable: true
          type: string
        Checksum:
          description: Gets or sets a checksum for the binary.
          nullable: true
          type: string
        Guid:
          description: Gets or sets the Id.
          format: uuid
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        SourceUrl:
          description: Gets or sets the source URL.
          nullable: true
          type: string
        Version:
          $ref: "#/components/schemas/Version"
      type: object
    IsoType:
      description: Enum IsoType.
      enum:
        - Dvd
        - BluRay
      type: string
    ItemCounts:
      additionalProperties: false
      description: Class LibrarySummary.
      properties:
        AlbumCount:
          description: Gets or sets the album count.
          format: int32
          type: integer
        ArtistCount:
          description: Gets or sets the artist count.
          format: int32
          type: integer
        BookCount:
          description: Gets or sets the book count.
          format: int32
          type: integer
        BoxSetCount:
          description: Gets or sets the box set count.
          format: int32
          type: integer
        EpisodeCount:
          description: Gets or sets the episode count.
          format: int32
          type: integer
        ItemCount:
          description: Gets or sets the item count.
          format: int32
          type: integer
        MovieCount:
          description: Gets or sets the movie count.
          format: int32
          type: integer
        MusicVideoCount:
          description: Gets or sets the music video count.
          format: int32
          type: integer
        ProgramCount:
          description: Gets or sets the program count.
          format: int32
          type: integer
        SeriesCount:
          description: Gets or sets the series count.
          format: int32
          type: integer
        SongCount:
          description: Gets or sets the song count.
          format: int32
          type: integer
        TrailerCount:
          description: Gets or sets the trailer count.
          format: int32
          type: integer
      type: object
    ItemFields:
      description: Used to control the data that gets attached to DtoBaseItems.
      enum:
        - AirTime
        - CanDelete
        - CanDownload
        - ChannelInfo
        - Chapters
        - 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
        - BasicSyncInfo
        - SyncInfo
        - 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
    ItemFilter:
      description: Enum ItemFilter.
      enum:
        - IsFolder
        - IsNotFolder
        - IsUnplayed
        - IsPlayed
        - IsFavorite
        - IsResumable
        - Likes
        - Dislikes
        - IsFavoriteOrLikes
      type: string
    JoinGroupRequestDto:
      additionalProperties: false
      description: Class JoinGroupRequestDto.
      properties:
        GroupId:
          description: Gets or sets the group identifier.
          format: uuid
          type: string
      type: object
    KeepUntil:
      enum:
        - UntilDeleted
        - UntilSpaceNeeded
        - UntilWatched
        - UntilDate
      type: string
    LibraryOptionInfoDto:
      additionalProperties: false
      description: Library option info dto.
      properties:
        DefaultEnabled:
          description: Gets or sets a value indicating whether default enabled.
          type: boolean
        Name:
          description: Gets or sets name.
          nullable: true
          type: string
      type: object
    LibraryOptions:
      additionalProperties: false
      properties:
        AutomaticRefreshIntervalDays:
          format: int32
          type: integer
        DisabledLocalMetadataReaders:
          items:
            type: string
          nullable: true
          type: array
        DisabledSubtitleFetchers:
          items:
            type: string
          nullable: true
          type: array
        EnableAutomaticSeriesGrouping:
          type: boolean
        EnableChapterImageExtraction:
          type: boolean
        EnableEmbeddedEpisodeInfos:
          type: boolean
        EnableEmbeddedTitles:
          type: boolean
        EnableInternetProviders:
          type: boolean
        EnablePhotos:
          type: boolean
        EnableRealtimeMonitor:
          type: boolean
        ExtractChapterImagesDuringLibraryScan:
          type: boolean
        LocalMetadataReaderOrder:
          items:
            type: string
          nullable: true
          type: array
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataSavers:
          items:
            type: string
          nullable: true
          type: array
        PathInfos:
          items:
            $ref: "#/components/schemas/MediaPathInfo"
          nullable: true
          type: array
        PreferredMetadataLanguage:
          description: Gets or sets the preferred metadata language.
          nullable: true
          type: string
        RequirePerfectSubtitleMatch:
          type: boolean
        SaveLocalMetadata:
          type: boolean
        SaveSubtitlesWithMedia:
          type: boolean
        SeasonZeroDisplayName:
          nullable: true
          type: string
        SkipSubtitlesIfAudioTrackMatches:
          type: boolean
        SkipSubtitlesIfEmbeddedSubtitlesPresent:
          type: boolean
        SubtitleDownloadLanguages:
          items:
            type: string
          nullable: true
          type: array
        SubtitleFetcherOrder:
          items:
            type: string
          nullable: true
          type: array
        TypeOptions:
          items:
            $ref: "#/components/schemas/TypeOptions"
          nullable: true
          type: array
      type: object
    LibraryOptionsResultDto:
      additionalProperties: false
      description: Library options result dto.
      properties:
        MetadataReaders:
          description: Gets or sets the metadata readers.
          items:
            $ref: "#/components/schemas/LibraryOptionInfoDto"
          nullable: true
          type: array
        MetadataSavers:
          description: Gets or sets the metadata savers.
          items:
            $ref: "#/components/schemas/LibraryOptionInfoDto"
          nullable: true
          type: array
        SubtitleFetchers:
          description: Gets or sets the subtitle fetchers.
          items:
            $ref: "#/components/schemas/LibraryOptionInfoDto"
          nullable: true
          type: array
        TypeOptions:
          description: Gets or sets the type options.
          items:
            $ref: "#/components/schemas/LibraryTypeOptionsDto"
          nullable: true
          type: array
      type: object
    LibraryTypeOptionsDto:
      additionalProperties: false
      description: Library type options dto.
      properties:
        DefaultImageOptions:
          description: Gets or sets the default image options.
          items:
            $ref: "#/components/schemas/ImageOption"
          nullable: true
          type: array
        ImageFetchers:
          description: Gets or sets the image fetchers.
          items:
            $ref: "#/components/schemas/LibraryOptionInfoDto"
          nullable: true
          type: array
        MetadataFetchers:
          description: Gets or sets the metadata fetchers.
          items:
            $ref: "#/components/schemas/LibraryOptionInfoDto"
          nullable: true
          type: array
        SupportedImageTypes:
          description: Gets or sets the supported image types.
          items:
            $ref: "#/components/schemas/ImageType"
          nullable: true
          type: array
        Type:
          description: Gets or sets the type.
          nullable: true
          type: string
      type: object
    LibraryUpdateInfo:
      additionalProperties: false
      description: Class LibraryUpdateInfo.
      properties:
        CollectionFolders:
          items:
            type: string
          nullable: true
          type: array
        FoldersAddedTo:
          description: Gets or sets the folders added to.
          items:
            type: string
          nullable: true
          type: array
        FoldersRemovedFrom:
          description: Gets or sets the folders removed from.
          items:
            type: string
          nullable: true
          type: array
        IsEmpty:
          readOnly: true
          type: boolean
        ItemsAdded:
          description: Gets or sets the items added.
          items:
            type: string
          nullable: true
          type: array
        ItemsRemoved:
          description: Gets or sets the items removed.
          items:
            type: string
          nullable: true
          type: array
        ItemsUpdated:
          description: Gets or sets the items updated.
          items:
            type: string
          nullable: true
          type: array
      type: object
    ListingsProviderInfo:
      additionalProperties: false
      properties:
        ChannelMappings:
          items:
            $ref: "#/components/schemas/NameValuePair"
          nullable: true
          type: array
        Country:
          nullable: true
          type: string
        EnableAllTuners:
          type: boolean
        EnabledTuners:
          items:
            type: string
          nullable: true
          type: array
        Id:
          nullable: true
          type: string
        KidsCategories:
          items:
            type: string
          nullable: true
          type: array
        ListingsId:
          nullable: true
          type: string
        MovieCategories:
          items:
            type: string
          nullable: true
          type: array
        MoviePrefix:
          nullable: true
          type: string
        NewsCategories:
          items:
            type: string
          nullable: true
          type: array
        Password:
          nullable: true
          type: string
        Path:
          nullable: true
          type: string
        PreferredLanguage:
          nullable: true
          type: string
        SportsCategories:
          items:
            type: string
          nullable: true
          type: array
        Type:
          nullable: true
          type: string
        UserAgent:
          nullable: true
          type: string
        Username:
          nullable: true
          type: string
        ZipCode:
          nullable: true
          type: string
      type: object
    LiveStreamResponse:
      additionalProperties: false
      properties:
        MediaSource:
          $ref: "#/components/schemas/MediaSourceInfo"
      type: object
    LiveTvInfo:
      additionalProperties: false
      properties:
        EnabledUsers:
          description: Gets or sets the enabled users.
          items:
            type: string
          nullable: true
          type: array
        IsEnabled:
          description: Gets or sets a value indicating whether this instance is enabled.
          type: boolean
        Services:
          description: Gets or sets the services.
          items:
            $ref: "#/components/schemas/LiveTvServiceInfo"
          nullable: true
          type: array
      type: object
    LiveTvServiceInfo:
      additionalProperties: false
      description: Class ServiceInfo.
      properties:
        HasUpdateAvailable:
          description: Gets or sets a value indicating whether this instance has update available.
          type: boolean
        HomePageUrl:
          description: Gets or sets the home page URL.
          nullable: true
          type: string
        IsVisible:
          description: Gets or sets a value indicating whether this instance is visible.
          type: boolean
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Status:
          $ref: "#/components/schemas/LiveTvServiceStatus"
        StatusMessage:
          description: Gets or sets the status message.
          nullable: true
          type: string
        Tuners:
          items:
            type: string
          nullable: true
          type: array
        Version:
          description: Gets or sets the version.
          nullable: true
          type: string
      type: object
    LiveTvServiceStatus:
      enum:
        - Ok
        - Unavailable
      type: string
    LocalizationOption:
      additionalProperties: false
      properties:
        Name:
          nullable: true
          type: string
        Value:
          nullable: true
          type: string
      type: object
    LocationType:
      description: Enum LocationType.
      enum:
        - FileSystem
        - Remote
        - Virtual
        - Offline
      type: string
    LogFile:
      additionalProperties: false
      properties:
        DateCreated:
          description: Gets or sets the date created.
          format: date-time
          type: string
        DateModified:
          description: Gets or sets the date modified.
          format: date-time
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Size:
          description: Gets or sets the size.
          format: int64
          type: integer
      type: object
    LogLevel:
      enum:
        - Trace
        - Debug
        - Information
        - Warning
        - Error
        - Critical
        - None
      type: string
    MediaAttachment:
      additionalProperties: false
      description: Class MediaAttachment.
      properties:
        Codec:
          description: Gets or sets the codec.
          nullable: true
          type: string
        CodecTag:
          description: Gets or sets the codec tag.
          nullable: true
          type: string
        Comment:
          description: Gets or sets the comment.
          nullable: true
          type: string
        DeliveryUrl:
          description: Gets or sets the delivery URL.
          nullable: true
          type: string
        FileName:
          description: Gets or sets the filename.
          nullable: true
          type: string
        Index:
          description: Gets or sets the index.
          format: int32
          type: integer
        MimeType:
          description: Gets or sets the MIME type.
          nullable: true
          type: string
      type: object
    MediaEncoderPathDto:
      additionalProperties: false
      description: Media Encoder Path Dto.
      properties:
        Path:
          description: Gets or sets media encoder path.
          nullable: true
          type: string
        PathType:
          description: Gets or sets media encoder path type.
          nullable: true
          type: string
      type: object
    MediaPathDto:
      additionalProperties: false
      description: Media Path dto.
      properties:
        Name:
          description: Gets or sets the name of the library.
          type: string
        Path:
          description: Gets or sets the path to add.
          nullable: true
          type: string
        PathInfo:
          $ref: "#/components/schemas/MediaPathInfo"
      required:
        - Name
      type: object
    MediaPathInfo:
      additionalProperties: false
      properties:
        NetworkPath:
          nullable: true
          type: string
        Path:
          nullable: true
          type: string
      type: object
    MediaProtocol:
      enum:
        - File
        - Http
        - Rtmp
        - Rtsp
        - Udp
        - Rtp
        - Ftp
      type: string
    MediaSourceInfo:
      additionalProperties: false
      properties:
        AnalyzeDurationMs:
          format: int32
          nullable: true
          type: integer
        Bitrate:
          format: int32
          nullable: true
          type: integer
        BufferMs:
          format: int32
          nullable: true
          type: integer
        Container:
          nullable: true
          type: string
        DefaultAudioStreamIndex:
          format: int32
          nullable: true
          type: integer
        DefaultSubtitleStreamIndex:
          format: int32
          nullable: true
          type: integer
        ETag:
          nullable: true
          type: string
        EncoderPath:
          nullable: true
          type: string
        EncoderProtocol:
          $ref: "#/components/schemas/MediaProtocol"
        Formats:
          items:
            type: string
          nullable: true
          type: array
        GenPtsInput:
          type: boolean
        Id:
          nullable: true
          type: string
        IgnoreDts:
          type: boolean
        IgnoreIndex:
          type: boolean
        IsInfiniteStream:
          type: boolean
        IsRemote:
          description: Differentiate internet url vs local network.
          type: boolean
        IsoType:
          $ref: "#/components/schemas/IsoType"
        LiveStreamId:
          nullable: true
          type: string
        MediaAttachments:
          items:
            $ref: "#/components/schemas/MediaAttachment"
          nullable: true
          type: array
        MediaStreams:
          items:
            $ref: "#/components/schemas/MediaStream"
          nullable: true
          type: array
        Name:
          nullable: true
          type: string
        OpenToken:
          nullable: true
          type: string
        Path:
          nullable: true
          type: string
        Protocol:
          $ref: "#/components/schemas/MediaProtocol"
        ReadAtNativeFramerate:
          type: boolean
        RequiredHttpHeaders:
          additionalProperties:
            type: string
          nullable: true
          type: object
        RequiresClosing:
          type: boolean
        RequiresLooping:
          type: boolean
        RequiresOpening:
          type: boolean
        RunTimeTicks:
          format: int64
          nullable: true
          type: integer
        Size:
          format: int64
          nullable: true
          type: integer
        SupportsDirectPlay:
          type: boolean
        SupportsDirectStream:
          type: boolean
        SupportsProbing:
          type: boolean
        SupportsTranscoding:
          type: boolean
        Timestamp:
          $ref: "#/components/schemas/TransportStreamTimestamp"
        TranscodingContainer:
          nullable: true
          type: string
        TranscodingSubProtocol:
          nullable: true
          type: string
        TranscodingUrl:
          nullable: true
          type: string
        Type:
          $ref: "#/components/schemas/MediaSourceType"
        Video3DFormat:
          $ref: "#/components/schemas/Video3DFormat"
        VideoType:
          $ref: "#/components/schemas/VideoType"
      type: object
    MediaSourceType:
      enum:
        - Default
        - Grouping
        - Placeholder
      type: string
    MediaStream:
      additionalProperties: false
      description: Class MediaStream.
      properties:
        AspectRatio:
          description: Gets or sets the aspect ratio.
          nullable: true
          type: string
        AverageFrameRate:
          description: Gets or sets the average frame rate.
          format: float
          nullable: true
          type: number
        BitDepth:
          description: Gets or sets the bit depth.
          format: int32
          nullable: true
          type: integer
        BitRate:
          description: Gets or sets the bit rate.
          format: int32
          nullable: true
          type: integer
        ChannelLayout:
          description: Gets or sets the channel layout.
          nullable: true
          type: string
        Channels:
          description: Gets or sets the channels.
          format: int32
          nullable: true
          type: integer
        Codec:
          description: Gets or sets the codec.
          nullable: true
          type: string
        CodecTag:
          description: Gets or sets the codec tag.
          nullable: true
          type: string
        CodecTimeBase:
          description: Gets or sets the codec time base.
          nullable: true
          type: string
        ColorPrimaries:
          description: Gets or sets the color primaries.
          nullable: true
          type: string
        ColorRange:
          description: Gets or sets the color range.
          nullable: true
          type: string
        ColorSpace:
          description: Gets or sets the color space.
          nullable: true
          type: string
        ColorTransfer:
          description: Gets or sets the color transfer.
          nullable: true
          type: string
        Comment:
          description: Gets or sets the comment.
          nullable: true
          type: string
        DeliveryMethod:
          $ref: "#/components/schemas/SubtitleDeliveryMethod"
        DeliveryUrl:
          description: Gets or sets the delivery URL.
          nullable: true
          type: string
        DisplayTitle:
          nullable: true
          readOnly: true
          type: string
        Height:
          description: Gets or sets the height.
          format: int32
          nullable: true
          type: integer
        Index:
          description: Gets or sets the index.
          format: int32
          type: integer
        IsAVC:
          nullable: true
          type: boolean
        IsAnamorphic:
          description: Gets a value indicating whether this instance is anamorphic.
          nullable: true
          type: boolean
        IsDefault:
          description: Gets or sets a value indicating whether this instance is default.
          type: boolean
        IsExternal:
          description: Gets or sets a value indicating whether this instance is external.
          type: boolean
        IsExternalUrl:
          description: Gets or sets a value indicating whether this instance is external URL.
          nullable: true
          type: boolean
        IsForced:
          description: Gets or sets a value indicating whether this instance is forced.
          type: boolean
        IsInterlaced:
          description: Gets or sets a value indicating whether this instance is interlaced.
          type: boolean
        IsTextSubtitleStream:
          readOnly: true
          type: boolean
        Language:
          description: Gets or sets the language.
          nullable: true
          type: string
        Level:
          description: Gets or sets the level.
          format: double
          nullable: true
          type: number
        NalLengthSize:
          nullable: true
          type: string
        PacketLength:
          description: Gets or sets the length of the packet.
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the filename.
          nullable: true
          type: string
        PixelFormat:
          description: Gets or sets the pixel format.
          nullable: true
          type: string
        Profile:
          description: Gets or sets the profile.
          nullable: true
          type: string
        RealFrameRate:
          description: Gets or sets the real frame rate.
          format: float
          nullable: true
          type: number
        RefFrames:
          description: Gets or sets the reference frames.
          format: int32
          nullable: true
          type: integer
        SampleRate:
          description: Gets or sets the sample rate.
          format: int32
          nullable: true
          type: integer
        Score:
          description: Gets or sets the score.
          format: int32
          nullable: true
          type: integer
        SupportsExternalStream:
          description: Gets or sets a value indicating whether [supports external stream].
          type: boolean
        TimeBase:
          description: Gets or sets the time base.
          nullable: true
          type: string
        Title:
          description: Gets or sets the title.
          nullable: true
          type: string
        Type:
          $ref: "#/components/schemas/MediaStreamType"
        VideoRange:
          description: Gets or sets the video range.
          nullable: true
          readOnly: true
          type: string
        Width:
          description: Gets or sets the width.
          format: int32
          nullable: true
          type: integer
        localizedDefault:
          nullable: true
          type: string
        localizedForced:
          nullable: true
          type: string
        localizedUndefined:
          nullable: true
          type: string
      type: object
    MediaStreamType:
      description: Enum MediaStreamType.
      enum:
        - Audio
        - Video
        - Subtitle
        - EmbeddedImage
      type: string
    MediaUpdateInfoDto:
      additionalProperties: false
      description: Media Update Info Dto.
      properties:
        Path:
          description: Gets or sets media path.
          nullable: true
          type: string
        UpdateType:
          description: "Gets or sets media update type.\r

            Created, Modified, Deleted."
          nullable: true
          type: string
      type: object
    MediaUrl:
      additionalProperties: false
      properties:
        Name:
          nullable: true
          type: string
        Url:
          nullable: true
          type: string
      type: object
    MetadataEditorInfo:
      additionalProperties: false
      properties:
        ContentType:
          nullable: true
          type: string
        ContentTypeOptions:
          items:
            $ref: "#/components/schemas/NameValuePair"
          nullable: true
          type: array
        Countries:
          items:
            $ref: "#/components/schemas/CountryInfo"
          nullable: true
          type: array
        Cultures:
          items:
            $ref: "#/components/schemas/CultureDto"
          nullable: true
          type: array
        ExternalIdInfos:
          items:
            $ref: "#/components/schemas/ExternalIdInfo"
          nullable: true
          type: array
        ParentalRatingOptions:
          items:
            $ref: "#/components/schemas/ParentalRating"
          nullable: true
          type: array
      type: object
    MetadataField:
      description: Enum MetadataFields.
      enum:
        - Cast
        - Genres
        - ProductionLocations
        - Studios
        - Tags
        - Name
        - Overview
        - Runtime
        - OfficialRating
      type: string
    MetadataOptions:
      additionalProperties: false
      description: Class MetadataOptions.
      properties:
        DisabledImageFetchers:
          items:
            type: string
          nullable: true
          type: array
        DisabledMetadataFetchers:
          items:
            type: string
          nullable: true
          type: array
        DisabledMetadataSavers:
          items:
            type: string
          nullable: true
          type: array
        ImageFetcherOrder:
          items:
            type: string
          nullable: true
          type: array
        ItemType:
          nullable: true
          type: string
        LocalMetadataReaderOrder:
          items:
            type: string
          nullable: true
          type: array
        MetadataFetcherOrder:
          items:
            type: string
          nullable: true
          type: array
      type: object
    MetadataRefreshMode:
      enum:
        - None
        - ValidationOnly
        - Default
        - FullRefresh
      type: string
    MovePlaylistItemRequestDto:
      additionalProperties: false
      description: Class MovePlaylistItemRequestDto.
      properties:
        NewIndex:
          description: Gets or sets the new position.
          format: int32
          type: integer
        PlaylistItemId:
          description: Gets or sets the playlist identifier of the item.
          format: uuid
          type: string
      type: object
    MovieInfo:
      additionalProperties: false
      properties:
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    MovieInfoRemoteSearchQuery:
      additionalProperties: false
      properties:
        IncludeDisabledProviders:
          description: Gets or sets a value indicating whether disabled providers should be included.
          type: boolean
        ItemId:
          format: uuid
          type: string
        SearchInfo:
          $ref: "#/components/schemas/MovieInfo"
        SearchProviderName:
          description: Will only search within the given provider when set.
          nullable: true
          type: string
      type: object
    MusicVideoInfo:
      additionalProperties: false
      properties:
        Artists:
          items:
            type: string
          nullable: true
          type: array
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    MusicVideoInfoRemoteSearchQuery:
      additionalProperties: false
      properties:
        IncludeDisabledProviders:
          description: Gets or sets a value indicating whether disabled providers should be included.
          type: boolean
        ItemId:
          format: uuid
          type: string
        SearchInfo:
          $ref: "#/components/schemas/MusicVideoInfo"
        SearchProviderName:
          description: Will only search within the given provider when set.
          nullable: true
          type: string
      type: object
    NameGuidPair:
      additionalProperties: false
      properties:
        Id:
          format: uuid
          type: string
        Name:
          nullable: true
          type: string
      type: object
    NameIdPair:
      additionalProperties: false
      properties:
        Id:
          description: Gets or sets the identifier.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
      type: object
    NameValuePair:
      additionalProperties: false
      properties:
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Value:
          description: Gets or sets the value.
          nullable: true
          type: string
      type: object
    NewGroupRequestDto:
      additionalProperties: false
      description: Class NewGroupRequestDto.
      properties:
        GroupName:
          description: Gets or sets the group name.
          nullable: true
          type: string
      type: object
    NextItemRequestDto:
      additionalProperties: false
      description: Class NextItemRequestDto.
      properties:
        PlaylistItemId:
          description: Gets or sets the playing item identifier.
          format: uuid
          type: string
      type: object
    NotificationDto:
      additionalProperties: false
      description: The notification DTO.
      properties:
        Date:
          description: Gets or sets the notification date.
          format: date-time
          type: string
        Description:
          description: Gets or sets the notification's description. Defaults to an empty string.
          nullable: true
          type: string
        Id:
          description: Gets or sets the notification ID. Defaults to an empty string.
          nullable: true
          type: string
        IsRead:
          description: Gets or sets a value indicating whether the notification has been read. Defaults to false.
          type: boolean
        Level:
          $ref: "#/components/schemas/NotificationLevel"
        Name:
          description: Gets or sets the notification's name. Defaults to an empty string.
          nullable: true
          type: string
        Url:
          description: Gets or sets the notification's URL. Defaults to an empty string.
          nullable: true
          type: string
        UserId:
          description: Gets or sets the notification's user ID. Defaults to an empty string.
          nullable: true
          type: string
      type: object
    NotificationLevel:
      enum:
        - Normal
        - Warning
        - Error
      type: string
    NotificationResultDto:
      additionalProperties: false
      description: A list of notifications with the total record count for pagination.
      properties:
        Notifications:
          description: Gets or sets the current page of notifications.
          items:
            $ref: "#/components/schemas/NotificationDto"
          nullable: true
          type: array
        TotalRecordCount:
          description: Gets or sets the total number of notifications.
          format: int32
          type: integer
      type: object
    NotificationTypeInfo:
      additionalProperties: false
      properties:
        Category:
          nullable: true
          type: string
        Enabled:
          type: boolean
        IsBasedOnUserEvent:
          type: boolean
        Name:
          nullable: true
          type: string
        Type:
          nullable: true
          type: string
      type: object
    NotificationsSummaryDto:
      additionalProperties: false
      description: The notification summary DTO.
      properties:
        MaxUnreadNotificationLevel:
          $ref: "#/components/schemas/NotificationLevel"
        UnreadCount:
          description: Gets or sets the number of unread notifications.
          format: int32
          type: integer
      type: object
    ObjectGroupUpdate:
      additionalProperties: false
      description: Class GroupUpdate.
      properties:
        Data:
          description: Gets the update data.
          nullable: true
          readOnly: true
        GroupId:
          description: Gets the group identifier.
          format: uuid
          readOnly: true
          type: string
        Type:
          $ref: "#/components/schemas/GroupUpdateType"
      type: object
    OpenLiveStreamDto:
      additionalProperties: false
      description: Open live stream dto.
      properties:
        AudioStreamIndex:
          description: Gets or sets the audio stream index.
          format: int32
          nullable: true
          type: integer
        DeviceProfile:
          $ref: "#/components/schemas/DeviceProfile"
        DirectPlayProtocols:
          description: Gets or sets the device play protocols.
          items:
            $ref: "#/components/schemas/MediaProtocol"
          nullable: true
          type: array
        EnableDirectPlay:
          description: Gets or sets a value indicating whether to enable direct play.
          nullable: true
          type: boolean
        EnableDirectStream:
          description: Gets or sets a value indicating whether to enale direct stream.
          nullable: true
          type: boolean
        ItemId:
          description: Gets or sets the item id.
          format: uuid
          nullable: true
          type: string
        MaxAudioChannels:
          description: Gets or sets the max audio channels.
          format: int32
          nullable: true
          type: integer
        MaxStreamingBitrate:
          description: Gets or sets the max streaming bitrate.
          format: int32
          nullable: true
          type: integer
        OpenToken:
          description: Gets or sets the open token.
          nullable: true
          type: string
        PlaySessionId:
          description: Gets or sets the play session id.
          nullable: true
          type: string
        StartTimeTicks:
          description: Gets or sets the start time in ticks.
          format: int64
          nullable: true
          type: integer
        SubtitleStreamIndex:
          description: Gets or sets the subtitle stream index.
          format: int32
          nullable: true
          type: integer
        UserId:
          description: Gets or sets the user id.
          format: uuid
          nullable: true
          type: string
      type: object
    PackageInfo:
      additionalProperties: false
      description: Class PackageInfo.
      properties:
        category:
          description: Gets or sets the category.
          nullable: true
          type: string
        description:
          description: Gets or sets a long description of the plugin containing features or helpful explanations.
          nullable: true
          type: string
        guid:
          description: "Gets or sets the guid of the assembly associated with this plugin.\r

            This is used to identify the proper item for automatic updates."
          nullable: true
          type: string
        imageUrl:
          description: Gets or sets the image url for the package.
          nullable: true
          type: string
        name:
          description: Gets or sets the name.
          nullable: true
          type: string
        overview:
          description: Gets or sets a short overview of what the plugin does.
          nullable: true
          type: string
        owner:
          description: Gets or sets the owner.
          nullable: true
          type: string
        versions:
          description: Gets or sets the versions.
          items:
            $ref: "#/components/schemas/VersionInfo"
          nullable: true
          type: array
      type: object
    ParentalRating:
      additionalProperties: false
      description: Class ParentalRating.
      properties:
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Value:
          description: Gets or sets the value.
          format: int32
          type: integer
      type: object
    PathSubstitution:
      additionalProperties: false
      description: Defines the MediaBrowser.Model.Configuration.PathSubstitution.
      properties:
        From:
          description: Gets or sets the value to substitute.
          nullable: true
          type: string
        To:
          description: Gets or sets the value to substitution with.
          nullable: true
          type: string
      type: object
    PersonLookupInfo:
      additionalProperties: false
      properties:
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    PersonLookupInfoRemoteSearchQuery:
      additionalProperties: false
      properties:
        IncludeDisabledProviders:
          description: Gets or sets a value indicating whether disabled providers should be included.
          type: boolean
        ItemId:
          format: uuid
          type: string
        SearchInfo:
          $ref: "#/components/schemas/PersonLookupInfo"
        SearchProviderName:
          description: Will only search within the given provider when set.
          nullable: true
          type: string
      type: object
    PinRedeemResult:
      additionalProperties: false
      properties:
        Success:
          description: Gets or sets a value indicating whether this MediaBrowser.Model.Users.PinRedeemResult is success.
          type: boolean
        UsersReset:
          description: Gets or sets the users reset.
          items:
            type: string
          nullable: true
          type: array
      type: object
    PingRequestDto:
      additionalProperties: false
      description: Class PingRequestDto.
      properties:
        Ping:
          description: Gets or sets the ping time.
          format: int64
          type: integer
      type: object
    PlayAccess:
      enum:
        - Full
        - None
      type: string
    PlayCommand:
      description: Enum PlayCommand.
      enum:
        - PlayNow
        - PlayNext
        - PlayLast
        - PlayInstantMix
        - PlayShuffle
      type: string
    PlayMethod:
      enum:
        - Transcode
        - DirectStream
        - DirectPlay
      type: string
    PlayRequest:
      additionalProperties: false
      description: Class PlayRequest.
      properties:
        AudioStreamIndex:
          format: int32
          nullable: true
          type: integer
        ControllingUserId:
          description: Gets or sets the controlling user identifier.
          format: uuid
          type: string
        ItemIds:
          description: Gets or sets the item ids.
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        MediaSourceId:
          nullable: true
          type: string
        PlayCommand:
          $ref: "#/components/schemas/PlayCommand"
        StartIndex:
          format: int32
          nullable: true
          type: integer
        StartPositionTicks:
          description: Gets or sets the start position ticks that the first item should be played at.
          format: int64
          nullable: true
          type: integer
        SubtitleStreamIndex:
          format: int32
          nullable: true
          type: integer
      type: object
    PlayRequestDto:
      additionalProperties: false
      description: Class PlayRequestDto.
      properties:
        PlayingItemPosition:
          description: Gets or sets the position of the playing item in the queue.
          format: int32
          type: integer
        PlayingQueue:
          description: Gets or sets the playing queue.
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        StartPositionTicks:
          description: Gets or sets the start position ticks.
          format: int64
          type: integer
      type: object
    PlaybackErrorCode:
      enum:
        - NotAllowed
        - NoCompatibleStream
        - RateLimitExceeded
      type: string
    PlaybackInfoDto:
      additionalProperties: false
      description: Plabyback info dto.
      properties:
        AllowAudioStreamCopy:
          description: Gets or sets a value indicating whether to allow audio stream copy.
          nullable: true
          type: boolean
        AllowVideoStreamCopy:
          description: Gets or sets a value indicating whether to enable video stream copy.
          nullable: true
          type: boolean
        AudioStreamIndex:
          description: Gets or sets the audio stream index.
          format: int32
          nullable: true
          type: integer
        AutoOpenLiveStream:
          description: Gets or sets a value indicating whether to auto open the live stream.
          nullable: true
          type: boolean
        DeviceProfile:
          $ref: "#/components/schemas/DeviceProfile"
        EnableDirectPlay:
          description: Gets or sets a value indicating whether to enable direct play.
          nullable: true
          type: boolean
        EnableDirectStream:
          description: Gets or sets a value indicating whether to enable direct stream.
          nullable: true
          type: boolean
        EnableTranscoding:
          description: Gets or sets a value indicating whether to enable transcoding.
          nullable: true
          type: boolean
        LiveStreamId:
          description: Gets or sets the live stream id.
          nullable: true
          type: string
        MaxAudioChannels:
          description: Gets or sets the max audio channels.
          format: int32
          nullable: true
          type: integer
        MaxStreamingBitrate:
          description: Gets or sets the max streaming bitrate.
          format: int32
          nullable: true
          type: integer
        MediaSourceId:
          description: Gets or sets the media source id.
          nullable: true
          type: string
        StartTimeTicks:
          description: Gets or sets the start time in ticks.
          format: int64
          nullable: true
          type: integer
        SubtitleStreamIndex:
          description: Gets or sets the subtitle stream index.
          format: int32
          nullable: true
          type: integer
        UserId:
          description: Gets or sets the playback userId.
          format: uuid
          nullable: true
          type: string
      type: object
    PlaybackInfoResponse:
      additionalProperties: false
      description: Class PlaybackInfoResponse.
      properties:
        ErrorCode:
          $ref: "#/components/schemas/PlaybackErrorCode"
        MediaSources:
          description: Gets or sets the media sources.
          items:
            $ref: "#/components/schemas/MediaSourceInfo"
          nullable: true
          type: array
        PlaySessionId:
          description: Gets or sets the play session identifier.
          nullable: true
          type: string
      type: object
    PlaybackProgressInfo:
      additionalProperties: false
      description: Class PlaybackProgressInfo.
      properties:
        AspectRatio:
          nullable: true
          type: string
        AudioStreamIndex:
          description: Gets or sets the index of the audio stream.
          format: int32
          nullable: true
          type: integer
        Brightness:
          format: int32
          nullable: true
          type: integer
        CanSeek:
          description: Gets or sets a value indicating whether this instance can seek.
          type: boolean
        IsMuted:
          description: Gets or sets a value indicating whether this instance is muted.
          type: boolean
        IsPaused:
          description: Gets or sets a value indicating whether this instance is paused.
          type: boolean
        Item:
          $ref: "#/components/schemas/BaseItemDto"
        ItemId:
          description: Gets or sets the item identifier.
          format: uuid
          type: string
        LiveStreamId:
          description: Gets or sets the live stream identifier.
          nullable: true
          type: string
        MediaSourceId:
          description: Gets or sets the media version identifier.
          nullable: true
          type: string
        NowPlayingQueue:
          items:
            $ref: "#/components/schemas/QueueItem"
          nullable: true
          type: array
        PlayMethod:
          $ref: "#/components/schemas/PlayMethod"
        PlaySessionId:
          description: Gets or sets the play session identifier.
          nullable: true
          type: string
        PlaybackStartTimeTicks:
          format: int64
          nullable: true
          type: integer
        PlaylistItemId:
          nullable: true
          type: string
        PositionTicks:
          description: Gets or sets the position ticks.
          format: int64
          nullable: true
          type: integer
        RepeatMode:
          $ref: "#/components/schemas/RepeatMode"
        SessionId:
          description: Gets or sets the session id.
          nullable: true
          type: string
        SubtitleStreamIndex:
          description: Gets or sets the index of the subtitle stream.
          format: int32
          nullable: true
          type: integer
        VolumeLevel:
          description: Gets or sets the volume level.
          format: int32
          nullable: true
          type: integer
      type: object
    PlaybackStartInfo:
      additionalProperties: false
      description: Class PlaybackStartInfo.
      properties:
        AspectRatio:
          nullable: true
          type: string
        AudioStreamIndex:
          description: Gets or sets the index of the audio stream.
          format: int32
          nullable: true
          type: integer
        Brightness:
          format: int32
          nullable: true
          type: integer
        CanSeek:
          description: Gets or sets a value indicating whether this instance can seek.
          type: boolean
        IsMuted:
          description: Gets or sets a value indicating whether this instance is muted.
          type: boolean
        IsPaused:
          description: Gets or sets a value indicating whether this instance is paused.
          type: boolean
        Item:
          $ref: "#/components/schemas/BaseItemDto"
        ItemId:
          description: Gets or sets the item identifier.
          format: uuid
          type: string
        LiveStreamId:
          description: Gets or sets the live stream identifier.
          nullable: true
          type: string
        MediaSourceId:
          description: Gets or sets the media version identifier.
          nullable: true
          type: string
        NowPlayingQueue:
          items:
            $ref: "#/components/schemas/QueueItem"
          nullable: true
          type: array
        PlayMethod:
          $ref: "#/components/schemas/PlayMethod"
        PlaySessionId:
          description: Gets or sets the play session identifier.
          nullable: true
          type: string
        PlaybackStartTimeTicks:
          format: int64
          nullable: true
          type: integer
        PlaylistItemId:
          nullable: true
          type: string
        PositionTicks:
          description: Gets or sets the position ticks.
          format: int64
          nullable: true
          type: integer
        RepeatMode:
          $ref: "#/components/schemas/RepeatMode"
        SessionId:
          description: Gets or sets the session id.
          nullable: true
          type: string
        SubtitleStreamIndex:
          description: Gets or sets the index of the subtitle stream.
          format: int32
          nullable: true
          type: integer
        VolumeLevel:
          description: Gets or sets the volume level.
          format: int32
          nullable: true
          type: integer
      type: object
    PlaybackStopInfo:
      additionalProperties: false
      description: Class PlaybackStopInfo.
      properties:
        Failed:
          description: Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed.
          type: boolean
        Item:
          $ref: "#/components/schemas/BaseItemDto"
        ItemId:
          description: Gets or sets the item identifier.
          format: uuid
          type: string
        LiveStreamId:
          description: Gets or sets the live stream identifier.
          nullable: true
          type: string
        MediaSourceId:
          description: Gets or sets the media version identifier.
          nullable: true
          type: string
        NextMediaType:
          nullable: true
          type: string
        NowPlayingQueue:
          items:
            $ref: "#/components/schemas/QueueItem"
          nullable: true
          type: array
        PlaySessionId:
          description: Gets or sets the play session identifier.
          nullable: true
          type: string
        PlaylistItemId:
          nullable: true
          type: string
        PositionTicks:
          description: Gets or sets the position ticks.
          format: int64
          nullable: true
          type: integer
        SessionId:
          description: Gets or sets the session id.
          nullable: true
          type: string
      type: object
    PlayerStateInfo:
      additionalProperties: false
      properties:
        AudioStreamIndex:
          description: Gets or sets the index of the now playing audio stream.
          format: int32
          nullable: true
          type: integer
        CanSeek:
          description: Gets or sets a value indicating whether this instance can seek.
          type: boolean
        IsMuted:
          description: Gets or sets a value indicating whether this instance is muted.
          type: boolean
        IsPaused:
          description: Gets or sets a value indicating whether this instance is paused.
          type: boolean
        MediaSourceId:
          description: Gets or sets the now playing media version identifier.
          nullable: true
          type: string
        PlayMethod:
          $ref: "#/components/schemas/PlayMethod"
        PositionTicks:
          description: Gets or sets the now playing position ticks.
          format: int64
          nullable: true
          type: integer
        RepeatMode:
          $ref: "#/components/schemas/RepeatMode"
        SubtitleStreamIndex:
          description: Gets or sets the index of the now playing subtitle stream.
          format: int32
          nullable: true
          type: integer
        VolumeLevel:
          description: Gets or sets the volume level.
          format: int32
          nullable: true
          type: integer
      type: object
    PlaylistCreationResult:
      additionalProperties: false
      properties:
        Id:
          nullable: true
          readOnly: true
          type: string
      type: object
    PlaystateCommand:
      description: Enum PlaystateCommand.
      enum:
        - Stop
        - Pause
        - Unpause
        - NextTrack
        - PreviousTrack
        - Seek
        - Rewind
        - FastForward
        - PlayPause
      type: string
    PlaystateRequest:
      additionalProperties: false
      properties:
        Command:
          $ref: "#/components/schemas/PlaystateCommand"
        ControllingUserId:
          description: Gets or sets the controlling user identifier.
          nullable: true
          type: string
        SeekPositionTicks:
          format: int64
          nullable: true
          type: integer
      type: object
    PluginInfo:
      additionalProperties: false
      description: This is a serializable stub class that is used by the api to provide information about installed plugins.
      properties:
        CanUninstall:
          description: Gets or sets a value indicating whether the plugin can be uninstalled.
          type: boolean
        ConfigurationFileName:
          description: Gets or sets the name of the configuration file.
          nullable: true
          type: string
        Description:
          description: Gets or sets the description.
          nullable: true
          type: string
        HasImage:
          description: Gets or sets a value indicating whether this plugin has a valid image.
          type: boolean
        Id:
          description: Gets or sets the unique id.
          format: uuid
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Status:
          $ref: "#/components/schemas/PluginStatus"
        Version:
          $ref: "#/components/schemas/Version"
      type: object
    PluginSecurityInfo:
      additionalProperties: false
      description: Plugin security info.
      properties:
        IsMbSupporter:
          description: Gets or sets a value indicating whether is mb supporter.
          type: boolean
        SupporterKey:
          description: Gets or sets the supporter key.
          nullable: true
          type: string
      type: object
    PluginStatus:
      description: Plugin load status.
      enum:
        - Active
        - Restart
        - Deleted
        - Superceded
        - Malfunctioned
        - NotSupported
        - Disabled
      type: string
    PreviousItemRequestDto:
      additionalProperties: false
      description: Class PreviousItemRequestDto.
      properties:
        PlaylistItemId:
          description: Gets or sets the playing item identifier.
          format: uuid
          type: string
      type: object
    ProblemDetails:
      additionalProperties: {}
      properties:
        detail:
          nullable: true
          type: string
        instance:
          nullable: true
          type: string
        status:
          format: int32
          nullable: true
          type: integer
        title:
          nullable: true
          type: string
        type:
          nullable: true
          type: string
      type: object
    ProfileCondition:
      additionalProperties: false
      properties:
        Condition:
          $ref: "#/components/schemas/ProfileConditionType"
        IsRequired:
          type: boolean
        Property:
          $ref: "#/components/schemas/ProfileConditionValue"
        Value:
          nullable: true
          type: string
      type: object
    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
      type: string
    ProgramAudio:
      enum:
        - Mono
        - Stereo
        - Dolby
        - DolbyDigital
        - Thx
        - Atmos
      type: string
    PublicSystemInfo:
      additionalProperties: false
      properties:
        Id:
          description: Gets or sets the id.
          nullable: true
          type: string
        LocalAddress:
          description: Gets or sets the local address.
          nullable: true
          type: string
        OperatingSystem:
          description: Gets or sets the operating system.
          nullable: true
          type: string
        ProductName:
          description: Gets or sets the product name. This is the AssemblyProduct name.
          nullable: true
          type: string
        ServerName:
          description: Gets or sets the name of the server.
          nullable: true
          type: string
        StartupWizardCompleted:
          description: Gets or sets a value indicating whether the startup wizard is completed.
          nullable: true
          type: boolean
        Version:
          description: Gets or sets the server version.
          nullable: true
          type: string
      type: object
    QueryFilters:
      additionalProperties: false
      properties:
        Genres:
          items:
            $ref: "#/components/schemas/NameGuidPair"
          nullable: true
          type: array
        Tags:
          items:
            type: string
          nullable: true
          type: array
      type: object
    QueryFiltersLegacy:
      additionalProperties: false
      properties:
        Genres:
          items:
            type: string
          nullable: true
          type: array
        OfficialRatings:
          items:
            type: string
          nullable: true
          type: array
        Tags:
          items:
            type: string
          nullable: true
          type: array
        Years:
          items:
            format: int32
            type: integer
          nullable: true
          type: array
      type: object
    QueueItem:
      additionalProperties: false
      properties:
        Id:
          format: uuid
          type: string
        PlaylistItemId:
          nullable: true
          type: string
      type: object
    QueueRequestDto:
      additionalProperties: false
      description: Class QueueRequestDto.
      properties:
        ItemIds:
          description: Gets or sets the items to enqueue.
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        Mode:
          $ref: "#/components/schemas/GroupQueueMode"
      type: object
    QuickConnectDto:
      additionalProperties: false
      description: The quick connect request body.
      properties:
        Token:
          description: Gets or sets the quick connect token.
          type: string
      required:
        - Token
      type: object
    QuickConnectResult:
      additionalProperties: false
      description: Stores the result of an incoming quick connect request.
      properties:
        Authenticated:
          description: Gets a value indicating whether this request is authorized.
          readOnly: true
          type: boolean
        Authentication:
          description: Gets or sets the private access token.
          nullable: true
          type: string
        Code:
          description: Gets or sets the user facing code used so the user can quickly differentiate this request from others.
          nullable: true
          type: string
        DateAdded:
          description: Gets or sets the DateTime that this request was created.
          format: date-time
          nullable: true
          type: string
        Error:
          description: Gets or sets an error message.
          nullable: true
          type: string
        Secret:
          description: Gets or sets the secret value used to uniquely identify this request. Can be used to retrieve authentication information.
          nullable: true
          type: string
      type: object
    QuickConnectState:
      description: Quick connect state.
      enum:
        - Unavailable
        - Available
        - Active
      type: string
    RatingType:
      enum:
        - Score
        - Likes
      type: string
    ReadyRequestDto:
      additionalProperties: false
      description: Class ReadyRequest.
      properties:
        IsPlaying:
          description: Gets or sets a value indicating whether the client playback is unpaused.
          type: boolean
        PlaylistItemId:
          description: Gets or sets the playlist item identifier of the playing item.
          format: uuid
          type: string
        PositionTicks:
          description: Gets or sets the position ticks.
          format: int64
          type: integer
        When:
          description: Gets or sets when the request has been made by the client.
          format: date-time
          type: string
      type: object
    RecommendationDto:
      additionalProperties: false
      properties:
        BaselineItemName:
          nullable: true
          type: string
        CategoryId:
          format: uuid
          type: string
        Items:
          items:
            $ref: "#/components/schemas/BaseItemDto"
          nullable: true
          type: array
        RecommendationType:
          $ref: "#/components/schemas/RecommendationType"
      type: object
    RecommendationType:
      enum:
        - SimilarToRecentlyPlayed
        - SimilarToLikedItem
        - HasDirectorFromRecentlyPlayed
        - HasActorFromRecentlyPlayed
        - HasLikedDirector
        - HasLikedActor
      type: string
    RecordingStatus:
      enum:
        - New
        - InProgress
        - Completed
        - Cancelled
        - ConflictedOk
        - ConflictedNotOk
        - Error
      type: string
    RemoteImageInfo:
      additionalProperties: false
      description: Class RemoteImageInfo.
      properties:
        CommunityRating:
          description: Gets or sets the community rating.
          format: double
          nullable: true
          type: number
        Height:
          description: Gets or sets the height.
          format: int32
          nullable: true
          type: integer
        Language:
          description: Gets or sets the language.
          nullable: true
          type: string
        ProviderName:
          description: Gets or sets the name of the provider.
          nullable: true
          type: string
        RatingType:
          $ref: "#/components/schemas/RatingType"
        ThumbnailUrl:
          description: Gets a url used for previewing a smaller version.
          nullable: true
          type: string
        Type:
          $ref: "#/components/schemas/ImageType"
        Url:
          description: Gets or sets the URL.
          nullable: true
          type: string
        VoteCount:
          description: Gets or sets the vote count.
          format: int32
          nullable: true
          type: integer
        Width:
          description: Gets or sets the width.
          format: int32
          nullable: true
          type: integer
      type: object
    RemoteImageResult:
      additionalProperties: false
      description: Class RemoteImageResult.
      properties:
        Images:
          description: Gets or sets the images.
          items:
            $ref: "#/components/schemas/RemoteImageInfo"
          nullable: true
          type: array
        Providers:
          description: Gets or sets the providers.
          items:
            type: string
          nullable: true
          type: array
        TotalRecordCount:
          description: Gets or sets the total record count.
          format: int32
          type: integer
      type: object
    RemoteSearchResult:
      additionalProperties: false
      properties:
        AlbumArtist:
          $ref: "#/components/schemas/RemoteSearchResult"
        Artists:
          items:
            $ref: "#/components/schemas/RemoteSearchResult"
          nullable: true
          type: array
        ImageUrl:
          nullable: true
          type: string
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IndexNumberEnd:
          format: int32
          nullable: true
          type: integer
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Overview:
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProductionYear:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        SearchProviderName:
          nullable: true
          type: string
      type: object
    RemoteSubtitleInfo:
      additionalProperties: false
      properties:
        Author:
          nullable: true
          type: string
        Comment:
          nullable: true
          type: string
        CommunityRating:
          format: float
          nullable: true
          type: number
        DateCreated:
          format: date-time
          nullable: true
          type: string
        DownloadCount:
          format: int32
          nullable: true
          type: integer
        Format:
          nullable: true
          type: string
        Id:
          nullable: true
          type: string
        IsHashMatch:
          nullable: true
          type: boolean
        Name:
          nullable: true
          type: string
        ProviderName:
          nullable: true
          type: string
        ThreeLetterISOLanguageName:
          nullable: true
          type: string
      type: object
    RemoveFromPlaylistRequestDto:
      additionalProperties: false
      description: Class RemoveFromPlaylistRequestDto.
      properties:
        PlaylistItemIds:
          description: Gets or sets the playlist identifiers ot the items.
          items:
            format: uuid
            type: string
          nullable: true
          type: array
      type: object
    RepeatMode:
      enum:
        - RepeatNone
        - RepeatAll
        - RepeatOne
      type: string
    RepositoryInfo:
      additionalProperties: false
      description: Class RepositoryInfo.
      properties:
        Enabled:
          description: Gets or sets a value indicating whether the repository is enabled.
          type: boolean
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Url:
          description: Gets or sets the URL.
          nullable: true
          type: string
      type: object
    ResponseProfile:
      additionalProperties: false
      properties:
        AudioCodec:
          nullable: true
          type: string
        Conditions:
          items:
            $ref: "#/components/schemas/ProfileCondition"
          nullable: true
          type: array
        Container:
          nullable: true
          type: string
        MimeType:
          nullable: true
          type: string
        OrgPn:
          nullable: true
          type: string
        Type:
          $ref: "#/components/schemas/DlnaProfileType"
        VideoCodec:
          nullable: true
          type: string
      type: object
    ScrollDirection:
      description: An enum representing the axis that should be scrolled.
      enum:
        - Horizontal
        - Vertical
      type: string
    SearchHint:
      additionalProperties: false
      description: Class SearchHintResult.
      properties:
        Album:
          description: Gets or sets the album.
          nullable: true
          type: string
        AlbumArtist:
          description: Gets or sets the album artist.
          nullable: true
          type: string
        AlbumId:
          format: uuid
          type: string
        Artists:
          description: Gets or sets the artists.
          items:
            type: string
          nullable: true
          type: array
        BackdropImageItemId:
          description: Gets or sets the backdrop image item identifier.
          nullable: true
          type: string
        BackdropImageTag:
          description: Gets or sets the backdrop image tag.
          nullable: true
          type: string
        ChannelId:
          description: Gets or sets the channel identifier.
          format: uuid
          type: string
        ChannelName:
          description: Gets or sets the name of the channel.
          nullable: true
          type: string
        EndDate:
          format: date-time
          nullable: true
          type: string
        EpisodeCount:
          description: Gets or sets the episode count.
          format: int32
          nullable: true
          type: integer
        Id:
          format: uuid
          type: string
        IndexNumber:
          description: Gets or sets the index number.
          format: int32
          nullable: true
          type: integer
        IsFolder:
          nullable: true
          type: boolean
        ItemId:
          description: Gets or sets the item id.
          format: uuid
          type: string
        MatchedTerm:
          description: Gets or sets the matched term.
          nullable: true
          type: string
        MediaType:
          description: Gets or sets the type of the media.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          description: Gets or sets the parent index number.
          format: int32
          nullable: true
          type: integer
        PrimaryImageAspectRatio:
          description: Gets or sets the primary image aspect ratio.
          format: double
          nullable: true
          type: number
        PrimaryImageTag:
          description: Gets or sets the image tag.
          nullable: true
          type: string
        ProductionYear:
          description: Gets or sets the production year.
          format: int32
          nullable: true
          type: integer
        RunTimeTicks:
          description: Gets or sets the run time ticks.
          format: int64
          nullable: true
          type: integer
        Series:
          description: Gets or sets the series.
          nullable: true
          type: string
        SongCount:
          description: Gets or sets the song count.
          format: int32
          nullable: true
          type: integer
        StartDate:
          format: date-time
          nullable: true
          type: string
        Status:
          nullable: true
          type: string
        ThumbImageItemId:
          description: Gets or sets the thumb image item identifier.
          nullable: true
          type: string
        ThumbImageTag:
          description: Gets or sets the thumb image tag.
          nullable: true
          type: string
        Type:
          description: Gets or sets the type.
          nullable: true
          type: string
      type: object
    SearchHintResult:
      additionalProperties: false
      description: Class SearchHintResult.
      properties:
        SearchHints:
          description: Gets or sets the search hints.
          items:
            $ref: "#/components/schemas/SearchHint"
          nullable: true
          type: array
        TotalRecordCount:
          description: Gets or sets the total record count.
          format: int32
          type: integer
      type: object
    SeekRequestDto:
      additionalProperties: false
      description: Class SeekRequestDto.
      properties:
        PositionTicks:
          description: Gets or sets the position ticks.
          format: int64
          type: integer
      type: object
    SendCommand:
      additionalProperties: false
      description: Class SendCommand.
      properties:
        Command:
          $ref: "#/components/schemas/SendCommandType"
        EmittedAt:
          description: Gets the UTC time when this command has been emitted.
          format: date-time
          readOnly: true
          type: string
        GroupId:
          description: Gets the group identifier.
          format: uuid
          readOnly: true
          type: string
        PlaylistItemId:
          description: Gets the playlist identifier of the playing item.
          format: uuid
          readOnly: true
          type: string
        PositionTicks:
          description: Gets the position ticks.
          format: int64
          nullable: true
          readOnly: true
          type: integer
        When:
          description: Gets or sets the UTC time when to execute the command.
          format: date-time
          type: string
      type: object
    SendCommandType:
      description: Enum SendCommandType.
      enum:
        - Unpause
        - Pause
        - Stop
        - Seek
      type: string
    SeriesInfo:
      additionalProperties: false
      properties:
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    SeriesInfoRemoteSearchQuery:
      additionalProperties: false
      properties:
        IncludeDisabledProviders:
          description: Gets or sets a value indicating whether disabled providers should be included.
          type: boolean
        ItemId:
          format: uuid
          type: string
        SearchInfo:
          $ref: "#/components/schemas/SeriesInfo"
        SearchProviderName:
          description: Will only search within the given provider when set.
          nullable: true
          type: string
      type: object
    SeriesStatus:
      description: Enum SeriesStatus.
      enum:
        - Continuing
        - Ended
      type: string
    SeriesTimerInfoDto:
      additionalProperties: false
      description: Class SeriesTimerInfoDto.
      properties:
        ChannelId:
          description: ChannelId of the recording.
          format: uuid
          type: string
        ChannelName:
          description: ChannelName of the recording.
          nullable: true
          type: string
        ChannelPrimaryImageTag:
          nullable: true
          type: string
        DayPattern:
          $ref: "#/components/schemas/DayPattern"
        Days:
          description: Gets or sets the days.
          items:
            $ref: "#/components/schemas/DayOfWeek"
          nullable: true
          type: array
        EndDate:
          description: The end date of the recording, in UTC.
          format: date-time
          type: string
        ExternalChannelId:
          description: Gets or sets the external channel identifier.
          nullable: true
          type: string
        ExternalId:
          description: Gets or sets the external identifier.
          nullable: true
          type: string
        ExternalProgramId:
          description: Gets or sets the external program identifier.
          nullable: true
          type: string
        Id:
          description: Id of the recording.
          nullable: true
          type: string
        ImageTags:
          additionalProperties:
            type: string
          description: Gets or sets the image tags.
          nullable: true
          type: object
        IsPostPaddingRequired:
          description: Gets or sets a value indicating whether this instance is post padding required.
          type: boolean
        IsPrePaddingRequired:
          description: Gets or sets a value indicating whether this instance is pre padding required.
          type: boolean
        KeepUntil:
          $ref: "#/components/schemas/KeepUntil"
        KeepUpTo:
          format: int32
          type: integer
        Name:
          description: Name of the recording.
          nullable: true
          type: string
        Overview:
          description: Description of the recording.
          nullable: true
          type: string
        ParentBackdropImageTags:
          description: Gets or sets the parent backdrop image tags.
          items:
            type: string
          nullable: true
          type: array
        ParentBackdropItemId:
          description: If the item does not have any backdrops, this will hold the Id of the Parent that has one.
          nullable: true
          type: string
        ParentPrimaryImageItemId:
          description: Gets or sets the parent primary image item identifier.
          nullable: true
          type: string
        ParentPrimaryImageTag:
          description: Gets or sets the parent primary image tag.
          nullable: true
          type: string
        ParentThumbImageTag:
          description: Gets or sets the parent thumb image tag.
          nullable: true
          type: string
        ParentThumbItemId:
          description: Gets or sets the parent thumb item id.
          nullable: true
          type: string
        PostPaddingSeconds:
          description: Gets or sets the post padding seconds.
          format: int32
          type: integer
        PrePaddingSeconds:
          description: Gets or sets the pre padding seconds.
          format: int32
          type: integer
        Priority:
          description: Gets or sets the priority.
          format: int32
          type: integer
        ProgramId:
          description: Gets or sets the program identifier.
          nullable: true
          type: string
        RecordAnyChannel:
          description: Gets or sets a value indicating whether [record any channel].
          type: boolean
        RecordAnyTime:
          description: Gets or sets a value indicating whether [record any time].
          type: boolean
        RecordNewOnly:
          description: Gets or sets a value indicating whether [record new only].
          type: boolean
        ServerId:
          description: Gets or sets the server identifier.
          nullable: true
          type: string
        ServiceName:
          description: Gets or sets the name of the service.
          nullable: true
          type: string
        SkipEpisodesInLibrary:
          type: boolean
        StartDate:
          description: The start date of the recording, in UTC.
          format: date-time
          type: string
        Type:
          nullable: true
          type: string
      type: object
    SeriesTimerInfoDtoQueryResult:
      additionalProperties: false
      properties:
        Items:
          description: Gets or sets the items.
          items:
            $ref: "#/components/schemas/SeriesTimerInfoDto"
          nullable: true
          type: array
        StartIndex:
          description: The index of the first record in Items.
          format: int32
          type: integer
        TotalRecordCount:
          description: The total number of records available.
          format: int32
          type: integer
      type: object
    ServerConfiguration:
      additionalProperties: false
      description: Represents the server configuration.
      properties:
        ActivityLogRetentionDays:
          description: Gets or sets the number of days we should retain activity logs.
          format: int32
          nullable: true
          type: integer
        AutoDiscovery:
          description: Gets or sets a value indicating whether Autodiscovery is enabled.
          type: boolean
        AutoDiscoveryTracing:
          description: Gets or sets a value indicating whether Autodiscovery tracing is enabled.
          type: boolean
        BaseUrl:
          nullable: true
          type: string
        CachePath:
          description: Gets or sets the cache path.
          nullable: true
          type: string
        CertificatePassword:
          description: Gets or sets the password required to access the X.509 certificate data in the file specified by MediaBrowser.Model.Configuration.ServerConfiguration.CertificatePath.
          nullable: true
          type: string
        CertificatePath:
          description: Gets or sets the filesystem path of an X.509 certificate to use for SSL.
          nullable: true
          type: string
        CodecsUsed:
          items:
            type: string
          nullable: true
          type: array
        ContentTypes:
          items:
            $ref: "#/components/schemas/NameValuePair"
          nullable: true
          type: array
        CorsHosts:
          description: Gets or sets the cors hosts.
          items:
            type: string
          nullable: true
          type: array
        DisableLiveTvChannelUserDataName:
          type: boolean
        DisablePluginImages:
          description: Gets or sets a value indicating whether plugin image should be disabled.
          type: boolean
        DisplaySpecialsWithinSeasons:
          type: boolean
        EnableCaseSensitiveItemIds:
          description: Gets or sets a value indicating whether [enable case sensitive item ids].
          type: boolean
        EnableDashboardResponseCaching:
          description: "Gets or sets a value indicating whether [enable dashboard response caching].\r

            Allows potential contributors without visual studio to modify production dashboard code and test changes."
          type: boolean
        EnableExternalContentInSuggestions:
          type: boolean
        EnableFolderView:
          type: boolean
        EnableGroupingIntoCollections:
          type: boolean
        EnableHttps:
          description: Gets or sets a value indicating whether to use HTTPS.
          type: boolean
        EnableIPV4:
          description: Gets or sets a value indicating whether IPV4 capability is enabled.
          type: boolean
        EnableIPV6:
          description: Gets or sets a value indicating whether IPV6 capability is enabled.
          type: boolean
        EnableMetrics:
          description: Gets or sets a value indicating whether to enable prometheus metrics exporting.
          type: boolean
        EnableMultiSocketBinding:
          description: Gets a value indicating whether multi-socket binding is available.
          readOnly: true
          type: boolean
        EnableNewOmdbSupport:
          type: boolean
        EnableNormalizedItemByNameIds:
          type: boolean
        EnableRemoteAccess:
          description: Gets or sets a value indicating whether access outside of the LAN is permitted.
          type: boolean
        EnableSSDPTracing:
          description: "Gets or sets a value indicating whether detailed ssdp logs are sent to the console/log.\r

            \"Emby.Dlna\": \"Debug\" must be set in logging.default.json for this property to work."
          type: boolean
        EnableSimpleArtistDetection:
          type: boolean
        EnableSlowResponseWarning:
          description: Gets or sets a value indicating whether slow server responses should be logged as a warning.
          type: boolean
        EnableUPnP:
          description: Gets or sets a value indicating whether to enable automatic port forwarding.
          type: boolean
        GatewayMonitorPeriod:
          description: Gets or sets the time (in seconds) between the pings of SSDP gateway monitor.
          format: int32
          type: integer
        HDHomerunPortRange:
          description: Gets or sets the ports that HDHomerun uses.
          nullable: true
          type: string
        HttpServerPortNumber:
          description: Gets or sets the HTTP server port number.
          format: int32
          type: integer
        HttpsPortNumber:
          description: Gets or sets the HTTPS server port number.
          format: int32
          type: integer
        IgnoreVirtualInterfaces:
          description: Gets or sets a value indicating whether address names that match MediaBrowser.Model.Configuration.ServerConfiguration.VirtualInterfaceNames should be Ignore for the purposes of binding.
          type: boolean
        ImageExtractionTimeoutMs:
          format: int32
          type: integer
        ImageSavingConvention:
          $ref: "#/components/schemas/ImageSavingConvention"
        IsPortAuthorized:
          description: Gets or sets a value indicating whether this instance is port authorized.
          type: boolean
        IsRemoteIPFilterBlacklist:
          description: Gets or sets a value indicating whether <seealso cref="P:MediaBrowser.Model.Configuration.ServerConfiguration.RemoteIPFilter" /> contains a blacklist or a whitelist. Default is a whitelist.
          type: boolean
        IsStartupWizardCompleted:
          description: Gets or sets a value indicating whether this instance is first run.
          type: boolean
        KnownProxies:
          description: Gets or sets the known proxies.
          items:
            type: string
          nullable: true
          type: array
        LibraryMetadataRefreshConcurrency:
          description: Gets or sets the how many metadata refreshes can run concurrently.
          format: int32
          type: integer
        LibraryMonitorDelay:
          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

            Some delay is necessary with some items because their creation is not atomic.  It involves the creation of several\r

            different directories and files."
          format: int32
          type: integer
        LibraryScanFanoutConcurrency:
          description: Gets or sets the how the library scan fans out.
          format: int32
          type: integer
        LocalNetworkAddresses:
          description: Gets or sets the interface addresses which Jellyfin will bind to. If empty, all interfaces will be used.
          items:
            type: string
          nullable: true
          type: array
        LocalNetworkSubnets:
          description: Gets or sets the subnets that are deemed to make up the LAN.
          items:
            type: string
          nullable: true
          type: array
        LogFileRetentionDays:
          description: Gets or sets the number of days we should retain log files.
          format: int32
          type: integer
        MaxAudiobookResume:
          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
          type: integer
        MaxResumePct:
          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
          type: integer
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataNetworkPath:
          nullable: true
          type: string
        MetadataOptions:
          items:
            $ref: "#/components/schemas/MetadataOptions"
          nullable: true
          type: array
        MetadataPath:
          description: Gets or sets the metadata path.
          nullable: true
          type: string
        MinAudiobookResume:
          description: Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated.
          format: int32
          type: integer
        MinResumeDurationSeconds:
          description: Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates..
          format: int32
          type: integer
        MinResumePct:
          description: Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated.
          format: int32
          type: integer
        PathSubstitutions:
          items:
            $ref: "#/components/schemas/PathSubstitution"
          nullable: true
          type: array
        PluginRepositories:
          items:
            $ref: "#/components/schemas/RepositoryInfo"
          nullable: true
          type: array
        PreferredMetadataLanguage:
          description: Gets or sets the preferred metadata language.
          nullable: true
          type: string
        PreviousVersion:
          $ref: "#/components/schemas/Version"
        PreviousVersionStr:
          description: "Gets or sets the stringified PreviousVersion to be stored/loaded,\r

            because System.Version itself isn't xml-serializable."
          nullable: true
          type: string
        PublicHttpsPort:
          description: Gets or sets the public HTTPS port.
          format: int32
          type: integer
        PublicPort:
          description: Gets or sets the public mapped port.
          format: int32
          type: integer
        PublishedServerUriBySubnet:
          description: Gets or sets PublishedServerUri to advertise for specific subnets.
          items:
            type: string
          nullable: true
          type: array
        QuickConnectAvailable:
          description: Gets or sets a value indicating whether quick connect is available for use on this server.
          type: boolean
        RemoteClientBitrateLimit:
          format: int32
          type: integer
        RemoteIPFilter:
          description: Gets or sets the filter for remote IP connectivity. Used in conjuntion with <seealso cref="P:MediaBrowser.Model.Configuration.ServerConfiguration.IsRemoteIPFilterBlacklist" />.
          items:
            type: string
          nullable: true
          type: array
        RemoveOldPlugins:
          description: Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder.
          type: boolean
        RequireHttps:
          description: Gets or sets a value indicating whether the server should force connections over HTTPS.
          type: boolean
        SSDPTracingFilter:
          description: "Gets or sets a value indicating whether an IP address is to be used to filter the detailed ssdp logs that are being sent to the console/log.\r

            If the setting \"Emby.Dlna\": \"Debug\" msut be set in logging.default.json for this property to work."
          nullable: true
          type: string
        SaveMetadataHidden:
          type: boolean
        ServerName:
          nullable: true
          type: string
        SkipDeserializationForBasicTypes:
          type: boolean
        SlowResponseThresholdMs:
          description: Gets or sets the threshold for the slow response time warning in ms.
          format: int64
          type: integer
        SortRemoveCharacters:
          description: Gets or sets characters to be removed from strings to create a sort name.
          items:
            type: string
          nullable: true
          type: array
        SortRemoveWords:
          description: Gets or sets words to be removed from strings to create a sort name.
          items:
            type: string
          nullable: true
          type: array
        SortReplaceCharacters:
          description: Gets or sets characters to be replaced with a ' ' in strings to create a sort name.
          items:
            type: string
          nullable: true
          type: array
        TrustAllIP6Interfaces:
          description: "Gets or sets a value indicating whether all IPv6 interfaces should be treated as on the internal network.\r

            Depending on the address range implemented ULA ranges might not be used."
          type: boolean
        UDPPortRange:
          description: Gets or sets client udp port range.
          nullable: true
          type: string
        UDPSendCount:
          description: Gets or sets the number of times SSDP UDP messages are sent.
          format: int32
          type: integer
        UDPSendDelay:
          description: Gets or sets the delay between each groups of SSDP messages (in ms).
          format: int32
          type: integer
        UICulture:
          nullable: true
          type: string
        UPnPCreateHttpPortMap:
          description: Gets or sets a value indicating whether the http port should be mapped as part of UPnP automatic port forwarding.
          type: boolean
        UninstalledPlugins:
          items:
            type: string
          nullable: true
          type: array
        VirtualInterfaceNames:
          description: Gets or sets a value indicating the interfaces that should be ignored. The list can be comma separated. <seealso cref="P:MediaBrowser.Model.Configuration.ServerConfiguration.IgnoreVirtualInterfaces" />.
          nullable: true
          type: string
      type: object
    SessionInfo:
      additionalProperties: false
      description: Class SessionInfo.
      properties:
        AdditionalUsers:
          items:
            $ref: "#/components/schemas/SessionUserInfo"
          nullable: true
          type: array
        ApplicationVersion:
          description: Gets or sets the application version.
          nullable: true
          type: string
        Capabilities:
          $ref: "#/components/schemas/ClientCapabilities"
        Client:
          description: Gets or sets the type of the client.
          nullable: true
          type: string
        DeviceId:
          description: Gets or sets the device id.
          nullable: true
          type: string
        DeviceName:
          description: Gets or sets the name of the device.
          nullable: true
          type: string
        DeviceType:
          description: Gets or sets the type of the device.
          nullable: true
          type: string
        FullNowPlayingItem:
          $ref: "#/components/schemas/BaseItem"
        HasCustomDeviceName:
          type: boolean
        Id:
          description: Gets or sets the id.
          nullable: true
          type: string
        IsActive:
          description: Gets a value indicating whether this instance is active.
          readOnly: true
          type: boolean
        LastActivityDate:
          description: Gets or sets the last activity date.
          format: date-time
          type: string
        LastPlaybackCheckIn:
          description: Gets or sets the last playback check in.
          format: date-time
          type: string
        NowPlayingItem:
          $ref: "#/components/schemas/BaseItemDto"
        NowPlayingQueue:
          items:
            $ref: "#/components/schemas/QueueItem"
          nullable: true
          type: array
        NowViewingItem:
          $ref: "#/components/schemas/BaseItemDto"
        PlayState:
          $ref: "#/components/schemas/PlayerStateInfo"
        PlayableMediaTypes:
          description: Gets or sets the playable media types.
          items:
            type: string
          nullable: true
          readOnly: true
          type: array
        PlaylistItemId:
          nullable: true
          type: string
        RemoteEndPoint:
          description: Gets or sets the remote end point.
          nullable: true
          type: string
        ServerId:
          nullable: true
          type: string
        SupportedCommands:
          description: Gets or sets the supported commands.
          items:
            $ref: "#/components/schemas/GeneralCommandType"
          nullable: true
          readOnly: true
          type: array
        SupportsMediaControl:
          readOnly: true
          type: boolean
        SupportsRemoteControl:
          readOnly: true
          type: boolean
        TranscodingInfo:
          $ref: "#/components/schemas/TranscodingInfo"
        UserId:
          description: Gets or sets the user id.
          format: uuid
          type: string
        UserName:
          description: Gets or sets the username.
          nullable: true
          type: string
        UserPrimaryImageTag:
          nullable: true
          type: string
      type: object
    SessionUserInfo:
      additionalProperties: false
      description: Class SessionUserInfo.
      properties:
        UserId:
          description: Gets or sets the user identifier.
          format: uuid
          type: string
        UserName:
          description: Gets or sets the name of the user.
          nullable: true
          type: string
      type: object
    SetChannelMappingDto:
      additionalProperties: false
      description: Set channel mapping dto.
      properties:
        ProviderChannelId:
          description: Gets or sets the provider channel id.
          type: string
        ProviderId:
          description: Gets or sets the provider id.
          type: string
        TunerChannelId:
          description: Gets or sets the tuner channel id.
          type: string
      required:
        - ProviderChannelId
        - ProviderId
        - TunerChannelId
      type: object
    SetPlaylistItemRequestDto:
      additionalProperties: false
      description: Class SetPlaylistItemRequestDto.
      properties:
        PlaylistItemId:
          description: Gets or sets the playlist identifier of the playing item.
          format: uuid
          type: string
      type: object
    SetRepeatModeRequestDto:
      additionalProperties: false
      description: Class SetRepeatModeRequestDto.
      properties:
        Mode:
          $ref: "#/components/schemas/GroupRepeatMode"
      type: object
    SetShuffleModeRequestDto:
      additionalProperties: false
      description: Class SetShuffleModeRequestDto.
      properties:
        Mode:
          $ref: "#/components/schemas/GroupShuffleMode"
      type: object
    SongInfo:
      additionalProperties: false
      properties:
        Album:
          nullable: true
          type: string
        AlbumArtists:
          items:
            type: string
          nullable: true
          type: array
        Artists:
          items:
            type: string
          nullable: true
          type: array
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    SortOrder:
      description: An enum representing the sorting order.
      enum:
        - Ascending
        - Descending
      type: string
    SpecialViewOptionDto:
      additionalProperties: false
      description: Special view option dto.
      properties:
        Id:
          description: Gets or sets view option id.
          nullable: true
          type: string
        Name:
          description: Gets or sets view option name.
          nullable: true
          type: string
      type: object
    StartupConfigurationDto:
      additionalProperties: false
      description: The startup configuration DTO.
      properties:
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        PreferredMetadataLanguage:
          description: Gets or sets the preferred language for the metadata.
          nullable: true
          type: string
        UICulture:
          description: Gets or sets UI language culture.
          nullable: true
          type: string
      type: object
    StartupRemoteAccessDto:
      additionalProperties: false
      description: Startup remote access dto.
      properties:
        EnableAutomaticPortMapping:
          description: Gets or sets a value indicating whether enable automatic port mapping.
          type: boolean
        EnableRemoteAccess:
          description: Gets or sets a value indicating whether enable remote access.
          type: boolean
      required:
        - EnableAutomaticPortMapping
        - EnableRemoteAccess
      type: object
    StartupUserDto:
      additionalProperties: false
      description: The startup user DTO.
      properties:
        Name:
          description: Gets or sets the username.
          nullable: true
          type: string
        Password:
          description: Gets or sets the user's password.
          nullable: true
          type: string
      type: object
    SubtitleDeliveryMethod:
      enum:
        - Encode
        - Embed
        - External
        - Hls
      type: string
    SubtitlePlaybackMode:
      description: An enum representing a subtitle playback mode.
      enum:
        - Default
        - Always
        - OnlyForced
        - None
        - Smart
      type: string
    SubtitleProfile:
      additionalProperties: false
      properties:
        Container:
          nullable: true
          type: string
        DidlMode:
          nullable: true
          type: string
        Format:
          nullable: true
          type: string
        Language:
          nullable: true
          type: string
        Method:
          $ref: "#/components/schemas/SubtitleDeliveryMethod"
      type: object
    SyncPlayUserAccessType:
      description: Enum SyncPlayUserAccessType.
      enum:
        - CreateAndJoinGroups
        - JoinGroups
        - None
      type: string
    SystemInfo:
      additionalProperties: false
      description: Class SystemInfo.
      properties:
        CachePath:
          description: Gets or sets the cache path.
          nullable: true
          type: string
        CanLaunchWebBrowser:
          type: boolean
        CanSelfRestart:
          description: Gets or sets a value indicating whether this instance can self restart.
          type: boolean
        CompletedInstallations:
          description: Gets or sets the completed installations.
          items:
            $ref: "#/components/schemas/InstallationInfo"
          nullable: true
          type: array
        EncoderLocation:
          $ref: "#/components/schemas/FFmpegLocation"
        HasPendingRestart:
          description: Gets or sets a value indicating whether this instance has pending restart.
          type: boolean
        HasUpdateAvailable:
          description: Gets or sets a value indicating whether this instance has update available.
          type: boolean
        Id:
          description: Gets or sets the id.
          nullable: true
          type: string
        InternalMetadataPath:
          description: Gets or sets the internal metadata path.
          nullable: true
          type: string
        IsShuttingDown:
          type: boolean
        ItemsByNamePath:
          description: Gets or sets the items by name path.
          nullable: true
          type: string
        LocalAddress:
          description: Gets or sets the local address.
          nullable: true
          type: string
        LogPath:
          description: Gets or sets the log path.
          nullable: true
          type: string
        OperatingSystem:
          description: Gets or sets the operating system.
          nullable: true
          type: string
        OperatingSystemDisplayName:
          description: Gets or sets the display name of the operating system.
          nullable: true
          type: string
        PackageName:
          description: Get or sets the package name.
          nullable: true
          type: string
        ProductName:
          description: Gets or sets the product name. This is the AssemblyProduct name.
          nullable: true
          type: string
        ProgramDataPath:
          description: Gets or sets the program data path.
          nullable: true
          type: string
        ServerName:
          description: Gets or sets the name of the server.
          nullable: true
          type: string
        StartupWizardCompleted:
          description: Gets or sets a value indicating whether the startup wizard is completed.
          nullable: true
          type: boolean
        SupportsLibraryMonitor:
          description: Gets or sets a value indicating whether [supports library monitor].
          type: boolean
        SystemArchitecture:
          $ref: "#/components/schemas/Architecture"
        TranscodingTempPath:
          description: Gets or sets the transcode path.
          nullable: true
          type: string
        Version:
          description: Gets or sets the server version.
          nullable: true
          type: string
        WebPath:
          description: Gets or sets the web UI resources path.
          nullable: true
          type: string
        WebSocketPortNumber:
          description: Gets or sets the web socket port number.
          format: int32
          type: integer
      type: object
    TaskCompletionStatus:
      description: Enum TaskCompletionStatus.
      enum:
        - Completed
        - Failed
        - Cancelled
        - Aborted
      type: string
    TaskInfo:
      additionalProperties: false
      description: Class TaskInfo.
      properties:
        Category:
          description: Gets or sets the category.
          nullable: true
          type: string
        CurrentProgressPercentage:
          description: Gets or sets the progress.
          format: double
          nullable: true
          type: number
        Description:
          description: Gets or sets the description.
          nullable: true
          type: string
        Id:
          description: Gets or sets the id.
          nullable: true
          type: string
        IsHidden:
          description: Gets or sets a value indicating whether this instance is hidden.
          type: boolean
        Key:
          description: Gets or sets the key.
          nullable: true
          type: string
        LastExecutionResult:
          $ref: "#/components/schemas/TaskResult"
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        State:
          $ref: "#/components/schemas/TaskState"
        Triggers:
          description: Gets or sets the triggers.
          items:
            $ref: "#/components/schemas/TaskTriggerInfo"
          nullable: true
          type: array
      type: object
    TaskResult:
      additionalProperties: false
      description: Class TaskExecutionInfo.
      properties:
        EndTimeUtc:
          description: Gets or sets the end time UTC.
          format: date-time
          type: string
        ErrorMessage:
          description: Gets or sets the error message.
          nullable: true
          type: string
        Id:
          description: Gets or sets the id.
          nullable: true
          type: string
        Key:
          description: Gets or sets the key.
          nullable: true
          type: string
        LongErrorMessage:
          description: Gets or sets the long error message.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        StartTimeUtc:
          description: Gets or sets the start time UTC.
          format: date-time
          type: string
        Status:
          $ref: "#/components/schemas/TaskCompletionStatus"
      type: object
    TaskState:
      description: Enum TaskState.
      enum:
        - Idle
        - Cancelling
        - Running
      type: string
    TaskTriggerInfo:
      additionalProperties: false
      description: Class TaskTriggerInfo.
      properties:
        DayOfWeek:
          $ref: "#/components/schemas/DayOfWeek"
        IntervalTicks:
          description: Gets or sets the interval.
          format: int64
          nullable: true
          type: integer
        MaxRuntimeTicks:
          description: Gets or sets the maximum runtime ticks.
          format: int64
          nullable: true
          type: integer
        TimeOfDayTicks:
          description: Gets or sets the time of day.
          format: int64
          nullable: true
          type: integer
        Type:
          description: Gets or sets the type.
          nullable: true
          type: string
      type: object
    ThemeMediaResult:
      additionalProperties: false
      description: Class ThemeMediaResult.
      properties:
        Items:
          description: Gets or sets the items.
          items:
            $ref: "#/components/schemas/BaseItemDto"
          nullable: true
          type: array
        OwnerId:
          description: Gets or sets the owner id.
          format: uuid
          type: string
        StartIndex:
          description: The index of the first record in Items.
          format: int32
          type: integer
        TotalRecordCount:
          description: The total number of records available.
          format: int32
          type: integer
      type: object
    TimerEventInfo:
      additionalProperties: false
      properties:
        Id:
          nullable: true
          readOnly: true
          type: string
        ProgramId:
          format: uuid
          nullable: true
          type: string
      type: object
    TimerInfoDto:
      additionalProperties: false
      properties:
        ChannelId:
          description: ChannelId of the recording.
          format: uuid
          type: string
        ChannelName:
          description: ChannelName of the recording.
          nullable: true
          type: string
        ChannelPrimaryImageTag:
          nullable: true
          type: string
        EndDate:
          description: The end date of the recording, in UTC.
          format: date-time
          type: string
        ExternalChannelId:
          description: Gets or sets the external channel identifier.
          nullable: true
          type: string
        ExternalId:
          description: Gets or sets the external identifier.
          nullable: true
          type: string
        ExternalProgramId:
          description: Gets or sets the external program identifier.
          nullable: true
          type: string
        ExternalSeriesTimerId:
          description: Gets or sets the external series timer identifier.
          nullable: true
          type: string
        Id:
          description: Id of the recording.
          nullable: true
          type: string
        IsPostPaddingRequired:
          description: Gets or sets a value indicating whether this instance is post padding required.
          type: boolean
        IsPrePaddingRequired:
          description: Gets or sets a value indicating whether this instance is pre padding required.
          type: boolean
        KeepUntil:
          $ref: "#/components/schemas/KeepUntil"
        Name:
          description: Name of the recording.
          nullable: true
          type: string
        Overview:
          description: Description of the recording.
          nullable: true
          type: string
        ParentBackdropImageTags:
          description: Gets or sets the parent backdrop image tags.
          items:
            type: string
          nullable: true
          type: array
        ParentBackdropItemId:
          description: If the item does not have any backdrops, this will hold the Id of the Parent that has one.
          nullable: true
          type: string
        PostPaddingSeconds:
          description: Gets or sets the post padding seconds.
          format: int32
          type: integer
        PrePaddingSeconds:
          description: Gets or sets the pre padding seconds.
          format: int32
          type: integer
        Priority:
          description: Gets or sets the priority.
          format: int32
          type: integer
        ProgramId:
          description: Gets or sets the program identifier.
          nullable: true
          type: string
        ProgramInfo:
          $ref: "#/components/schemas/BaseItemDto"
        RunTimeTicks:
          description: Gets or sets the run time ticks.
          format: int64
          nullable: true
          type: integer
        SeriesTimerId:
          description: Gets or sets the series timer identifier.
          nullable: true
          type: string
        ServerId:
          description: Gets or sets the server identifier.
          nullable: true
          type: string
        ServiceName:
          description: Gets or sets the name of the service.
          nullable: true
          type: string
        StartDate:
          description: The start date of the recording, in UTC.
          format: date-time
          type: string
        Status:
          $ref: "#/components/schemas/RecordingStatus"
        Type:
          nullable: true
          type: string
      type: object
    TimerInfoDtoQueryResult:
      additionalProperties: false
      properties:
        Items:
          description: Gets or sets the items.
          items:
            $ref: "#/components/schemas/TimerInfoDto"
          nullable: true
          type: array
        StartIndex:
          description: The index of the first record in Items.
          format: int32
          type: integer
        TotalRecordCount:
          description: The total number of records available.
          format: int32
          type: integer
      type: object
    TrailerInfo:
      additionalProperties: false
      properties:
        IndexNumber:
          format: int32
          nullable: true
          type: integer
        IsAutomated:
          type: boolean
        MetadataCountryCode:
          description: Gets or sets the metadata country code.
          nullable: true
          type: string
        MetadataLanguage:
          description: Gets or sets the metadata language.
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        ParentIndexNumber:
          format: int32
          nullable: true
          type: integer
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        PremiereDate:
          format: date-time
          nullable: true
          type: string
        ProviderIds:
          additionalProperties:
            type: string
          description: Gets or sets the provider ids.
          nullable: true
          type: object
        Year:
          description: Gets or sets the year.
          format: int32
          nullable: true
          type: integer
      type: object
    TrailerInfoRemoteSearchQuery:
      additionalProperties: false
      properties:
        IncludeDisabledProviders:
          description: Gets or sets a value indicating whether disabled providers should be included.
          type: boolean
        ItemId:
          format: uuid
          type: string
        SearchInfo:
          $ref: "#/components/schemas/TrailerInfo"
        SearchProviderName:
          description: Will only search within the given provider when set.
          nullable: true
          type: string
      type: object
    TranscodeReason:
      enum:
        - ContainerNotSupported
        - VideoCodecNotSupported
        - AudioCodecNotSupported
        - ContainerBitrateExceedsLimit
        - AudioBitrateNotSupported
        - AudioChannelsNotSupported
        - VideoResolutionNotSupported
        - UnknownVideoStreamInfo
        - UnknownAudioStreamInfo
        - AudioProfileNotSupported
        - AudioSampleRateNotSupported
        - AnamorphicVideoNotSupported
        - InterlacedVideoNotSupported
        - SecondaryAudioNotSupported
        - RefFramesNotSupported
        - VideoBitDepthNotSupported
        - VideoBitrateNotSupported
        - VideoFramerateNotSupported
        - VideoLevelNotSupported
        - VideoProfileNotSupported
        - AudioBitDepthNotSupported
        - SubtitleCodecNotSupported
        - DirectPlayError
      type: string
    TranscodeSeekInfo:
      enum:
        - Auto
        - Bytes
      type: string
    TranscodingInfo:
      additionalProperties: false
      properties:
        AudioChannels:
          format: int32
          nullable: true
          type: integer
        AudioCodec:
          nullable: true
          type: string
        Bitrate:
          format: int32
          nullable: true
          type: integer
        CompletionPercentage:
          format: double
          nullable: true
          type: number
        Container:
          nullable: true
          type: string
        Framerate:
          format: float
          nullable: true
          type: number
        Height:
          format: int32
          nullable: true
          type: integer
        IsAudioDirect:
          type: boolean
        IsVideoDirect:
          type: boolean
        TranscodeReasons:
          items:
            $ref: "#/components/schemas/TranscodeReason"
          nullable: true
          type: array
        VideoCodec:
          nullable: true
          type: string
        Width:
          format: int32
          nullable: true
          type: integer
      type: object
    TranscodingProfile:
      additionalProperties: false
      properties:
        AudioCodec:
          nullable: true
          type: string
        BreakOnNonKeyFrames:
          type: boolean
        Container:
          nullable: true
          type: string
        Context:
          $ref: "#/components/schemas/EncodingContext"
        CopyTimestamps:
          type: boolean
        EnableMpegtsM2TsMode:
          type: boolean
        EnableSubtitlesInManifest:
          type: boolean
        EstimateContentLength:
          type: boolean
        MaxAudioChannels:
          nullable: true
          type: string
        MinSegments:
          format: int32
          type: integer
        Protocol:
          nullable: true
          type: string
        SegmentLength:
          format: int32
          type: integer
        TranscodeSeekInfo:
          $ref: "#/components/schemas/TranscodeSeekInfo"
        Type:
          $ref: "#/components/schemas/DlnaProfileType"
        VideoCodec:
          nullable: true
          type: string
      type: object
    TransportStreamTimestamp:
      enum:
        - None
        - Zero
        - Valid
      type: string
    TunerChannelMapping:
      additionalProperties: false
      properties:
        Id:
          nullable: true
          type: string
        Name:
          nullable: true
          type: string
        ProviderChannelId:
          nullable: true
          type: string
        ProviderChannelName:
          nullable: true
          type: string
      type: object
    TunerHostInfo:
      additionalProperties: false
      properties:
        AllowHWTranscoding:
          type: boolean
        DeviceId:
          nullable: true
          type: string
        EnableStreamLooping:
          type: boolean
        FriendlyName:
          nullable: true
          type: string
        Id:
          nullable: true
          type: string
        ImportFavoritesOnly:
          type: boolean
        Source:
          nullable: true
          type: string
        TunerCount:
          format: int32
          type: integer
        Type:
          nullable: true
          type: string
        Url:
          nullable: true
          type: string
        UserAgent:
          nullable: true
          type: string
      type: object
    TypeOptions:
      additionalProperties: false
      properties:
        ImageFetcherOrder:
          items:
            type: string
          nullable: true
          type: array
        ImageFetchers:
          items:
            type: string
          nullable: true
          type: array
        ImageOptions:
          items:
            $ref: "#/components/schemas/ImageOption"
          nullable: true
          type: array
        MetadataFetcherOrder:
          items:
            type: string
          nullable: true
          type: array
        MetadataFetchers:
          items:
            type: string
          nullable: true
          type: array
        Type:
          nullable: true
          type: string
      type: object
    UnratedItem:
      description: An enum representing an unrated item.
      enum:
        - Movie
        - Trailer
        - Series
        - Music
        - Book
        - LiveTvChannel
        - LiveTvProgram
        - ChannelContent
        - Other
      type: string
    UpdateLibraryOptionsDto:
      additionalProperties: false
      description: Update library options dto.
      properties:
        Id:
          description: Gets or sets the library item id.
          format: uuid
          type: string
        LibraryOptions:
          $ref: "#/components/schemas/LibraryOptions"
      type: object
    UpdateUserEasyPassword:
      additionalProperties: false
      description: The update user easy password request body.
      properties:
        NewPassword:
          description: Gets or sets the new sha1-hashed password.
          nullable: true
          type: string
        NewPw:
          description: Gets or sets the new password.
          nullable: true
          type: string
        ResetPassword:
          description: Gets or sets a value indicating whether to reset the password.
          type: boolean
      type: object
    UpdateUserPassword:
      additionalProperties: false
      description: The update user password request body.
      properties:
        CurrentPassword:
          description: Gets or sets the current sha1-hashed password.
          nullable: true
          type: string
        CurrentPw:
          description: Gets or sets the current plain text password.
          nullable: true
          type: string
        NewPw:
          description: Gets or sets the new plain text password.
          nullable: true
          type: string
        ResetPassword:
          description: Gets or sets a value indicating whether to reset the password.
          type: boolean
      type: object
    UploadSubtitleDto:
      additionalProperties: false
      description: Upload subtitles dto.
      properties:
        Data:
          description: Gets or sets the subtitle data.
          type: string
        Format:
          description: Gets or sets the subtitle format.
          type: string
        IsForced:
          description: Gets or sets a value indicating whether the subtitle is forced.
          type: boolean
        Language:
          description: Gets or sets the subtitle language.
          type: string
      required:
        - Data
        - Format
        - IsForced
        - Language
      type: object
    UserConfiguration:
      additionalProperties: false
      description: Class UserConfiguration.
      properties:
        AudioLanguagePreference:
          description: Gets or sets the audio language preference.
          nullable: true
          type: string
        DisplayCollectionsView:
          type: boolean
        DisplayMissingEpisodes:
          type: boolean
        EnableLocalPassword:
          type: boolean
        EnableNextEpisodeAutoPlay:
          type: boolean
        GroupedFolders:
          items:
            type: string
          nullable: true
          type: array
        HidePlayedInLatest:
          type: boolean
        LatestItemsExcludes:
          items:
            type: string
          nullable: true
          type: array
        MyMediaExcludes:
          items:
            type: string
          nullable: true
          type: array
        OrderedViews:
          items:
            type: string
          nullable: true
          type: array
        PlayDefaultAudioTrack:
          description: Gets or sets a value indicating whether [play default audio track].
          type: boolean
        RememberAudioSelections:
          type: boolean
        RememberSubtitleSelections:
          type: boolean
        SubtitleLanguagePreference:
          description: Gets or sets the subtitle language preference.
          nullable: true
          type: string
        SubtitleMode:
          $ref: "#/components/schemas/SubtitlePlaybackMode"
      type: object
    UserDto:
      additionalProperties: false
      description: Class UserDto.
      properties:
        Configuration:
          $ref: "#/components/schemas/UserConfiguration"
        EnableAutoLogin:
          description: Gets or sets whether async login is enabled or not.
          nullable: true
          type: boolean
        HasConfiguredEasyPassword:
          description: Gets or sets a value indicating whether this instance has configured easy password.
          type: boolean
        HasConfiguredPassword:
          description: Gets or sets a value indicating whether this instance has configured password.
          type: boolean
        HasPassword:
          description: Gets or sets a value indicating whether this instance has password.
          type: boolean
        Id:
          description: Gets or sets the id.
          format: uuid
          type: string
        LastActivityDate:
          description: Gets or sets the last activity date.
          format: date-time
          nullable: true
          type: string
        LastLoginDate:
          description: Gets or sets the last login date.
          format: date-time
          nullable: true
          type: string
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        Policy:
          $ref: "#/components/schemas/UserPolicy"
        PrimaryImageAspectRatio:
          description: Gets or sets the primary image aspect ratio.
          format: double
          nullable: true
          type: number
        PrimaryImageTag:
          description: Gets or sets the primary image tag.
          nullable: true
          type: string
        ServerId:
          description: Gets or sets the server identifier.
          nullable: true
          type: string
        ServerName:
          description: "Gets or sets the name of the server.\r

            This is not used by the server and is for client-side usage only."
          nullable: true
          type: string
      type: object
    UserItemDataDto:
      additionalProperties: false
      description: Class UserItemDataDto.
      properties:
        IsFavorite:
          description: Gets or sets a value indicating whether this instance is favorite.
          type: boolean
        ItemId:
          description: Gets or sets the item identifier.
          nullable: true
          type: string
        Key:
          description: Gets or sets the key.
          nullable: true
          type: string
        LastPlayedDate:
          description: Gets or sets the last played date.
          format: date-time
          nullable: true
          type: string
        Likes:
          description: Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes.
          nullable: true
          type: boolean
        PlayCount:
          description: Gets or sets the play count.
          format: int32
          type: integer
        PlaybackPositionTicks:
          description: Gets or sets the playback position ticks.
          format: int64
          type: integer
        Played:
          description: Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played.
          type: boolean
        PlayedPercentage:
          description: Gets or sets the played percentage.
          format: double
          nullable: true
          type: number
        Rating:
          description: Gets or sets the rating.
          format: double
          nullable: true
          type: number
        UnplayedItemCount:
          description: Gets or sets the unplayed item count.
          format: int32
          nullable: true
          type: integer
      type: object
    UserPolicy:
      additionalProperties: false
      properties:
        AccessSchedules:
          items:
            $ref: "#/components/schemas/AccessSchedule"
          nullable: true
          type: array
        AuthenticationProviderId:
          nullable: true
          type: string
        BlockUnratedItems:
          items:
            $ref: "#/components/schemas/UnratedItem"
          nullable: true
          type: array
        BlockedChannels:
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        BlockedMediaFolders:
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        BlockedTags:
          items:
            type: string
          nullable: true
          type: array
        EnableAllChannels:
          type: boolean
        EnableAllDevices:
          type: boolean
        EnableAllFolders:
          type: boolean
        EnableAudioPlaybackTranscoding:
          type: boolean
        EnableContentDeletion:
          type: boolean
        EnableContentDeletionFromFolders:
          items:
            type: string
          nullable: true
          type: array
        EnableContentDownloading:
          type: boolean
        EnableLiveTvAccess:
          type: boolean
        EnableLiveTvManagement:
          type: boolean
        EnableMediaConversion:
          type: boolean
        EnableMediaPlayback:
          type: boolean
        EnablePlaybackRemuxing:
          type: boolean
        EnablePublicSharing:
          type: boolean
        EnableRemoteAccess:
          type: boolean
        EnableRemoteControlOfOtherUsers:
          type: boolean
        EnableSharedDeviceControl:
          type: boolean
        EnableSyncTranscoding:
          description: Gets or sets a value indicating whether [enable synchronize].
          type: boolean
        EnableUserPreferenceAccess:
          type: boolean
        EnableVideoPlaybackTranscoding:
          type: boolean
        EnabledChannels:
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        EnabledDevices:
          items:
            type: string
          nullable: true
          type: array
        EnabledFolders:
          items:
            format: uuid
            type: string
          nullable: true
          type: array
        ForceRemoteSourceTranscoding:
          type: boolean
        InvalidLoginAttemptCount:
          format: int32
          type: integer
        IsAdministrator:
          description: Gets or sets a value indicating whether this instance is administrator.
          type: boolean
        IsDisabled:
          description: Gets or sets a value indicating whether this instance is disabled.
          type: boolean
        IsHidden:
          description: Gets or sets a value indicating whether this instance is hidden.
          type: boolean
        LoginAttemptsBeforeLockout:
          format: int32
          type: integer
        MaxActiveSessions:
          format: int32
          type: integer
        MaxParentalRating:
          description: Gets or sets the max parental rating.
          format: int32
          nullable: true
          type: integer
        PasswordResetProviderId:
          nullable: true
          type: string
        RemoteClientBitrateLimit:
          format: int32
          type: integer
        SyncPlayAccess:
          $ref: "#/components/schemas/SyncPlayUserAccessType"
      type: object
    UtcTimeResponse:
      additionalProperties: false
      description: Class UtcTimeResponse.
      properties:
        RequestReceptionTime:
          description: Gets the UTC time when request has been received.
          format: date-time
          readOnly: true
          type: string
        ResponseTransmissionTime:
          description: Gets the UTC time when response has been sent.
          format: date-time
          readOnly: true
          type: string
      type: object
    ValidatePathDto:
      additionalProperties: false
      description: Validate path object.
      properties:
        IsFile:
          description: Gets or sets is path file.
          nullable: true
          type: boolean
        Path:
          description: Gets or sets the path.
          nullable: true
          type: string
        ValidateWritable:
          description: Gets or sets a value indicating whether validate if path is writable.
          type: boolean
      type: object
    Version:
      additionalProperties: false
      properties:
        Build:
          format: int32
          readOnly: true
          type: integer
        Major:
          format: int32
          readOnly: true
          type: integer
        MajorRevision:
          format: int32
          readOnly: true
          type: integer
        Minor:
          format: int32
          readOnly: true
          type: integer
        MinorRevision:
          format: int32
          readOnly: true
          type: integer
        Revision:
          format: int32
          readOnly: true
          type: integer
      type: object
    VersionInfo:
      additionalProperties: false
      description: Defines the MediaBrowser.Model.Updates.VersionInfo class.
      properties:
        VersionNumber:
          $ref: "#/components/schemas/Version"
        changelog:
          description: Gets or sets the changelog for this version.
          nullable: true
          type: string
        checksum:
          description: Gets or sets a checksum for the binary.
          nullable: true
          type: string
        repositoryName:
          description: Gets or sets the repository name.
          nullable: true
          type: string
        repositoryUrl:
          description: Gets or sets the repository url.
          nullable: true
          type: string
        sourceUrl:
          description: Gets or sets the source URL.
          nullable: true
          type: string
        targetAbi:
          description: Gets or sets the ABI that this version was built against.
          nullable: true
          type: string
        timestamp:
          description: Gets or sets a timestamp of when the binary was built.
          nullable: true
          type: string
        version:
          description: Gets or sets the version.
          nullable: true
          type: string
      type: object
    Video3DFormat:
      enum:
        - HalfSideBySide
        - FullSideBySide
        - FullTopAndBottom
        - HalfTopAndBottom
        - MVC
      type: string
    VideoType:
      description: Enum VideoType.
      enum:
        - VideoFile
        - Iso
        - Dvd
        - BluRay
      type: string
    VirtualFolderInfo:
      additionalProperties: false
      description: Used to hold information about a user's list of configured virtual folders.
      properties:
        CollectionType:
          description: Gets or sets the type of the collection.
          nullable: true
          type: string
        ItemId:
          description: Gets or sets the item identifier.
          nullable: true
          type: string
        LibraryOptions:
          $ref: "#/components/schemas/LibraryOptions"
        Locations:
          description: Gets or sets the locations.
          items:
            type: string
          nullable: true
          type: array
        Name:
          description: Gets or sets the name.
          nullable: true
          type: string
        PrimaryImageItemId:
          description: Gets or sets the primary image item identifier.
          nullable: true
          type: string
        RefreshProgress:
          format: double
          nullable: true
          type: number
        RefreshStatus:
          nullable: true
          type: string
      type: object
    WakeOnLanInfo:
      additionalProperties: false
      description: Provides the MAC address and port for wake-on-LAN functionality.
      properties:
        MacAddress:
          description: Gets the MAC address of the device.
          nullable: true
          type: string
        Port:
          description: Gets or sets the wake-on-LAN port.
          format: int32
          type: integer
      type: object
    XmlAttribute:
      additionalProperties: false
      description: Defines the MediaBrowser.Model.Dlna.XmlAttribute.
      properties:
        Name:
          description: Gets or sets the name of the attribute.
          nullable: true
          type: string
        Value:
          description: Gets or sets the value of the attribute.
          nullable: true
          type: string
      type: object
  securitySchemes:
    CustomAuthentication:
      description: API key header parameter
      in: header
      name: X-Emby-Authorization
      type: apiKey
