Skip to content

Instantly share code, notes, and snippets.

@kmcquade
Created November 16, 2023 14:14
Show Gist options
  • Save kmcquade/be7a19b5ee320a11e81078758c171261 to your computer and use it in GitHub Desktop.
Save kmcquade/be7a19b5ee320a11e81078758c171261 to your computer and use it in GitHub Desktop.
11/16/2023 download of Jellyfin's Swagger doc. https://api.jellyfin.org/openapi/jellyfin-openapi-stable.json
This file has been truncated, but you can view the full file.
{
"openapi": "3.0.1",
"info": {
"title": "Jellyfin API",
"version": "10.8.12",
"x-jellyfin-version": "10.8.12"
},
"servers": [
{
"url": "http://localhost"
}
],
"paths": {
"/System/ActivityLog/Entries": {
"get": {
"tags": [
"ActivityLog"
],
"summary": "Gets activity log entries.",
"operationId": "GetLogEntries",
"parameters": [
{
"name": "startIndex",
"in": "query",
"description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "limit",
"in": "query",
"description": "Optional. The maximum number of records to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minDate",
"in": "query",
"description": "Optional. The minimum date. Format = ISO.",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "hasUserId",
"in": "query",
"description": "Optional. Filter log entries if it has user id, or not.",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Activity log returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityLogEntryQueryResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ActivityLogEntryQueryResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ActivityLogEntryQueryResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Auth/Keys": {
"get": {
"tags": [
"ApiKey"
],
"summary": "Get all keys.",
"operationId": "GetKeys",
"responses": {
"200": {
"description": "Api keys retrieved.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthenticationInfoQueryResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/AuthenticationInfoQueryResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/AuthenticationInfoQueryResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"post": {
"tags": [
"ApiKey"
],
"summary": "Create a new api key.",
"operationId": "CreateKey",
"parameters": [
{
"name": "app",
"in": "query",
"description": "Name of the app using the authentication key.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Api key created."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Auth/Keys/{key}": {
"delete": {
"tags": [
"ApiKey"
],
"summary": "Remove an api key.",
"operationId": "RevokeKey",
"parameters": [
{
"name": "key",
"in": "path",
"description": "The access token to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Api key deleted."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Artists": {
"get": {
"tags": [
"Artists"
],
"summary": "Gets all artists from a given item, folder, or the entire library.",
"operationId": "GetArtists",
"parameters": [
{
"name": "minCommunityRating",
"in": "query",
"description": "Optional filter by minimum community rating.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "startIndex",
"in": "query",
"description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "limit",
"in": "query",
"description": "Optional. The maximum number of records to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "searchTerm",
"in": "query",
"description": "Optional. Search term.",
"schema": {
"type": "string"
}
},
{
"name": "parentId",
"in": "query",
"description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "fields",
"in": "query",
"description": "Optional. Specify additional fields of information to return in the output.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ItemFields"
}
}
},
{
"name": "excludeItemTypes",
"in": "query",
"description": "Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseItemKind"
}
}
},
{
"name": "includeItemTypes",
"in": "query",
"description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseItemKind"
}
}
},
{
"name": "filters",
"in": "query",
"description": "Optional. Specify additional filters to apply.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ItemFilter"
}
}
},
{
"name": "isFavorite",
"in": "query",
"description": "Optional filter by items that are marked as favorite, or not.",
"schema": {
"type": "boolean"
}
},
{
"name": "mediaTypes",
"in": "query",
"description": "Optional filter by MediaType. Allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "genres",
"in": "query",
"description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "genreIds",
"in": "query",
"description": "Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
{
"name": "officialRatings",
"in": "query",
"description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "tags",
"in": "query",
"description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "years",
"in": "query",
"description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "enableUserData",
"in": "query",
"description": "Optional, include user data.",
"schema": {
"type": "boolean"
}
},
{
"name": "imageTypeLimit",
"in": "query",
"description": "Optional, the max number of images to return, per image type.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "enableImageTypes",
"in": "query",
"description": "Optional. The image types to include in the output.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImageType"
}
}
},
{
"name": "person",
"in": "query",
"description": "Optional. If specified, results will be filtered to include only those containing the specified person.",
"schema": {
"type": "string"
}
},
{
"name": "personIds",
"in": "query",
"description": "Optional. If specified, results will be filtered to include only those containing the specified person ids.",
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
{
"name": "personTypes",
"in": "query",
"description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "studios",
"in": "query",
"description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "studioIds",
"in": "query",
"description": "Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
{
"name": "userId",
"in": "query",
"description": "User id.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "nameStartsWithOrGreater",
"in": "query",
"description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
"schema": {
"type": "string"
}
},
{
"name": "nameStartsWith",
"in": "query",
"description": "Optional filter by items whose name is sorted equally than a given input string.",
"schema": {
"type": "string"
}
},
{
"name": "nameLessThan",
"in": "query",
"description": "Optional filter by items whose name is equally or lesser than a given input string.",
"schema": {
"type": "string"
}
},
{
"name": "sortBy",
"in": "query",
"description": "Optional. Specify one or more sort orders, comma delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "sortOrder",
"in": "query",
"description": "Sort Order - Ascending,Descending.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SortOrder"
}
}
},
{
"name": "enableImages",
"in": "query",
"description": "Optional, include image information in output.",
"schema": {
"type": "boolean",
"default": true
}
},
{
"name": "enableTotalRecordCount",
"in": "query",
"description": "Total record count.",
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Artists returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Artists/{name}": {
"get": {
"tags": [
"Artists"
],
"summary": "Gets an artist by name.",
"operationId": "GetArtistByName",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Studio name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "userId",
"in": "query",
"description": "Optional. Filter by user id, and attach user data.",
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Artist returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseItemDto"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDto"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDto"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Artists/AlbumArtists": {
"get": {
"tags": [
"Artists"
],
"summary": "Gets all album artists from a given item, folder, or the entire library.",
"operationId": "GetAlbumArtists",
"parameters": [
{
"name": "minCommunityRating",
"in": "query",
"description": "Optional filter by minimum community rating.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "startIndex",
"in": "query",
"description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "limit",
"in": "query",
"description": "Optional. The maximum number of records to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "searchTerm",
"in": "query",
"description": "Optional. Search term.",
"schema": {
"type": "string"
}
},
{
"name": "parentId",
"in": "query",
"description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "fields",
"in": "query",
"description": "Optional. Specify additional fields of information to return in the output.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ItemFields"
}
}
},
{
"name": "excludeItemTypes",
"in": "query",
"description": "Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseItemKind"
}
}
},
{
"name": "includeItemTypes",
"in": "query",
"description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseItemKind"
}
}
},
{
"name": "filters",
"in": "query",
"description": "Optional. Specify additional filters to apply.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ItemFilter"
}
}
},
{
"name": "isFavorite",
"in": "query",
"description": "Optional filter by items that are marked as favorite, or not.",
"schema": {
"type": "boolean"
}
},
{
"name": "mediaTypes",
"in": "query",
"description": "Optional filter by MediaType. Allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "genres",
"in": "query",
"description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "genreIds",
"in": "query",
"description": "Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
{
"name": "officialRatings",
"in": "query",
"description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "tags",
"in": "query",
"description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "years",
"in": "query",
"description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "enableUserData",
"in": "query",
"description": "Optional, include user data.",
"schema": {
"type": "boolean"
}
},
{
"name": "imageTypeLimit",
"in": "query",
"description": "Optional, the max number of images to return, per image type.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "enableImageTypes",
"in": "query",
"description": "Optional. The image types to include in the output.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImageType"
}
}
},
{
"name": "person",
"in": "query",
"description": "Optional. If specified, results will be filtered to include only those containing the specified person.",
"schema": {
"type": "string"
}
},
{
"name": "personIds",
"in": "query",
"description": "Optional. If specified, results will be filtered to include only those containing the specified person ids.",
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
{
"name": "personTypes",
"in": "query",
"description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "studios",
"in": "query",
"description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "studioIds",
"in": "query",
"description": "Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited.",
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
{
"name": "userId",
"in": "query",
"description": "User id.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "nameStartsWithOrGreater",
"in": "query",
"description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
"schema": {
"type": "string"
}
},
{
"name": "nameStartsWith",
"in": "query",
"description": "Optional filter by items whose name is sorted equally than a given input string.",
"schema": {
"type": "string"
}
},
{
"name": "nameLessThan",
"in": "query",
"description": "Optional filter by items whose name is equally or lesser than a given input string.",
"schema": {
"type": "string"
}
},
{
"name": "sortBy",
"in": "query",
"description": "Optional. Specify one or more sort orders, comma delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "sortOrder",
"in": "query",
"description": "Sort Order - Ascending,Descending.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SortOrder"
}
}
},
{
"name": "enableImages",
"in": "query",
"description": "Optional, include image information in output.",
"schema": {
"type": "boolean",
"default": true
}
},
{
"name": "enableTotalRecordCount",
"in": "query",
"description": "Total record count.",
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Album artists returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Audio/{itemId}/stream": {
"get": {
"tags": [
"Audio"
],
"summary": "Gets an audio stream.",
"operationId": "GetAudioStream",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "container",
"in": "query",
"description": "The audio container.",
"schema": {
"type": "string"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
}
],
"responses": {
"200": {
"description": "Audio stream returned.",
"content": {
"audio/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
},
"head": {
"tags": [
"Audio"
],
"summary": "Gets an audio stream.",
"operationId": "HeadAudioStream",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "container",
"in": "query",
"description": "The audio container.",
"schema": {
"type": "string"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
}
],
"responses": {
"200": {
"description": "Audio stream returned.",
"content": {
"audio/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
}
},
"/Audio/{itemId}/stream.{container}": {
"get": {
"tags": [
"Audio"
],
"summary": "Gets an audio stream.",
"operationId": "GetAudioStreamByContainer",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "container",
"in": "path",
"description": "The audio container.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment lenght.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamporphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
}
],
"responses": {
"200": {
"description": "Audio stream returned.",
"content": {
"audio/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
},
"head": {
"tags": [
"Audio"
],
"summary": "Gets an audio stream.",
"operationId": "HeadAudioStreamByContainer",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "container",
"in": "path",
"description": "The audio container.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment lenght.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamporphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
}
],
"responses": {
"200": {
"description": "Audio stream returned.",
"content": {
"audio/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
}
},
"/Branding/Configuration": {
"get": {
"tags": [
"Branding"
],
"summary": "Gets branding configuration.",
"operationId": "GetBrandingOptions",
"responses": {
"200": {
"description": "Branding configuration returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BrandingOptions"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/BrandingOptions"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/BrandingOptions"
}
}
}
}
}
}
},
"/Branding/Css": {
"get": {
"tags": [
"Branding"
],
"summary": "Gets branding css.",
"operationId": "GetBrandingCss",
"responses": {
"200": {
"description": "Branding css returned.",
"content": {
"text/css": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "string"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "string"
}
}
}
},
"204": {
"description": "No branding css configured."
}
}
}
},
"/Branding/Css.css": {
"get": {
"tags": [
"Branding"
],
"summary": "Gets branding css.",
"operationId": "GetBrandingCss_2",
"responses": {
"200": {
"description": "Branding css returned.",
"content": {
"text/css": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "string"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "string"
}
}
}
},
"204": {
"description": "No branding css configured."
}
}
}
},
"/Channels": {
"get": {
"tags": [
"Channels"
],
"summary": "Gets available channels.",
"operationId": "GetChannels",
"parameters": [
{
"name": "userId",
"in": "query",
"description": "User Id to filter by. Use System.Guid.Empty to not filter by user.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "startIndex",
"in": "query",
"description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "limit",
"in": "query",
"description": "Optional. The maximum number of records to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "supportsLatestItems",
"in": "query",
"description": "Optional. Filter by channels that support getting latest items.",
"schema": {
"type": "boolean"
}
},
{
"name": "supportsMediaDeletion",
"in": "query",
"description": "Optional. Filter by channels that support media deletion.",
"schema": {
"type": "boolean"
}
},
{
"name": "isFavorite",
"in": "query",
"description": "Optional. Filter by channels that are favorite.",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Channels returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Channels/{channelId}/Features": {
"get": {
"tags": [
"Channels"
],
"summary": "Get channel features.",
"operationId": "GetChannelFeatures",
"parameters": [
{
"name": "channelId",
"in": "path",
"description": "Channel id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Channel features returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChannelFeatures"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ChannelFeatures"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ChannelFeatures"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Channels/{channelId}/Items": {
"get": {
"tags": [
"Channels"
],
"summary": "Get channel items.",
"operationId": "GetChannelItems",
"parameters": [
{
"name": "channelId",
"in": "path",
"description": "Channel Id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "folderId",
"in": "query",
"description": "Optional. Folder Id.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "userId",
"in": "query",
"description": "Optional. User Id.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "startIndex",
"in": "query",
"description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "limit",
"in": "query",
"description": "Optional. The maximum number of records to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "sortOrder",
"in": "query",
"description": "Optional. Sort Order - Ascending,Descending.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SortOrder"
}
}
},
{
"name": "filters",
"in": "query",
"description": "Optional. Specify additional filters to apply.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ItemFilter"
}
}
},
{
"name": "sortBy",
"in": "query",
"description": "Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "fields",
"in": "query",
"description": "Optional. Specify additional fields of information to return in the output.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ItemFields"
}
}
}
],
"responses": {
"200": {
"description": "Channel items returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Channels/Features": {
"get": {
"tags": [
"Channels"
],
"summary": "Get all channel features.",
"operationId": "GetAllChannelFeatures",
"responses": {
"200": {
"description": "All channel features returned.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChannelFeatures"
}
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChannelFeatures"
}
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChannelFeatures"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Channels/Items/Latest": {
"get": {
"tags": [
"Channels"
],
"summary": "Gets latest channel items.",
"operationId": "GetLatestChannelItems",
"parameters": [
{
"name": "userId",
"in": "query",
"description": "Optional. User Id.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "startIndex",
"in": "query",
"description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "limit",
"in": "query",
"description": "Optional. The maximum number of records to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "filters",
"in": "query",
"description": "Optional. Specify additional filters to apply.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ItemFilter"
}
}
},
{
"name": "fields",
"in": "query",
"description": "Optional. Specify additional fields of information to return in the output.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ItemFields"
}
}
},
{
"name": "channelIds",
"in": "query",
"description": "Optional. Specify one or more channel id's, comma delimited.",
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
}
],
"responses": {
"200": {
"description": "Latest channel items returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/ClientLog/Document": {
"post": {
"tags": [
"ClientLog"
],
"summary": "Upload a document.",
"operationId": "LogFile",
"requestBody": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"responses": {
"200": {
"description": "Document saved.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClientLogDocumentResponseDto"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ClientLogDocumentResponseDto"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ClientLogDocumentResponseDto"
}
}
}
},
"403": {
"description": "Event logging disabled.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"413": {
"description": "Upload size too large.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Collections": {
"post": {
"tags": [
"Collection"
],
"summary": "Creates a new collection.",
"operationId": "CreateCollection",
"parameters": [
{
"name": "name",
"in": "query",
"description": "The name of the collection.",
"schema": {
"type": "string"
}
},
{
"name": "ids",
"in": "query",
"description": "Item Ids to add to the collection.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "parentId",
"in": "query",
"description": "Optional. Create the collection within a specific folder.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "isLocked",
"in": "query",
"description": "Whether or not to lock the new collection.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "Collection created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CollectionCreationResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/CollectionCreationResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/CollectionCreationResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Collections/{collectionId}/Items": {
"post": {
"tags": [
"Collection"
],
"summary": "Adds items to a collection.",
"operationId": "AddToCollection",
"parameters": [
{
"name": "collectionId",
"in": "path",
"description": "The collection id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "ids",
"in": "query",
"description": "Item ids, comma delimited.",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
}
],
"responses": {
"204": {
"description": "Items added to collection."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
},
"delete": {
"tags": [
"Collection"
],
"summary": "Removes items from a collection.",
"operationId": "RemoveFromCollection",
"parameters": [
{
"name": "collectionId",
"in": "path",
"description": "The collection id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "ids",
"in": "query",
"description": "Item ids, comma delimited.",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
}
],
"responses": {
"204": {
"description": "Items removed from collection."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/System/Configuration": {
"get": {
"tags": [
"Configuration"
],
"summary": "Gets application configuration.",
"operationId": "GetConfiguration",
"responses": {
"200": {
"description": "Application configuration returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServerConfiguration"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ServerConfiguration"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ServerConfiguration"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
},
"post": {
"tags": [
"Configuration"
],
"summary": "Updates application configuration.",
"operationId": "UpdateConfiguration",
"requestBody": {
"description": "Configuration.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ServerConfiguration"
}
],
"description": "Represents the server configuration."
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ServerConfiguration"
}
],
"description": "Represents the server configuration."
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ServerConfiguration"
}
],
"description": "Represents the server configuration."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Configuration updated."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation",
"DefaultAuthorization"
]
}
]
}
},
"/System/Configuration/{key}": {
"get": {
"tags": [
"Configuration"
],
"summary": "Gets a named configuration.",
"operationId": "GetNamedConfiguration",
"parameters": [
{
"name": "key",
"in": "path",
"description": "Configuration key.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Configuration returned.",
"content": {
"application/json": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
},
"post": {
"tags": [
"Configuration"
],
"summary": "Updates named configuration.",
"operationId": "UpdateNamedConfiguration",
"parameters": [
{
"name": "key",
"in": "path",
"description": "Configuration key.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Configuration.",
"content": {
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
},
"application/*+json": {
"schema": { }
}
},
"required": true
},
"responses": {
"204": {
"description": "Named configuration updated."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation",
"DefaultAuthorization"
]
}
]
}
},
"/System/Configuration/MetadataOptions/Default": {
"get": {
"tags": [
"Configuration"
],
"summary": "Gets a default MetadataOptions object.",
"operationId": "GetDefaultMetadataOptions",
"responses": {
"200": {
"description": "Metadata options returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetadataOptions"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/MetadataOptions"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/MetadataOptions"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation",
"DefaultAuthorization"
]
}
]
}
},
"/System/MediaEncoder/Path": {
"post": {
"tags": [
"Configuration"
],
"summary": "Updates the path to the media encoder.",
"operationId": "UpdateMediaEncoderPath",
"requestBody": {
"description": "Media encoder path form body.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/MediaEncoderPathDto"
}
],
"description": "Media Encoder Path Dto."
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/MediaEncoderPathDto"
}
],
"description": "Media Encoder Path Dto."
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/MediaEncoderPathDto"
}
],
"description": "Media Encoder Path Dto."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Media encoder path updated."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"FirstTimeSetupOrElevated",
"DefaultAuthorization"
]
}
]
}
},
"/web/ConfigurationPage": {
"get": {
"tags": [
"Dashboard"
],
"summary": "Gets a dashboard configuration page.",
"operationId": "GetDashboardConfigurationPage",
"parameters": [
{
"name": "name",
"in": "query",
"description": "The name of the page.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "ConfigurationPage returned.",
"content": {
"text/html": {
"schema": {
"type": "string",
"format": "binary"
}
},
"application/x-javascript": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Plugin configuration page not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/web/ConfigurationPages": {
"get": {
"tags": [
"Dashboard"
],
"summary": "Gets the configuration pages.",
"operationId": "GetConfigurationPages",
"parameters": [
{
"name": "enableInMainMenu",
"in": "query",
"description": "Whether to enable in the main menu.",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "ConfigurationPages returned.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationPageInfo"
}
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationPageInfo"
}
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConfigurationPageInfo"
}
}
}
}
},
"404": {
"description": "Server still loading.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Devices": {
"get": {
"tags": [
"Devices"
],
"summary": "Get Devices.",
"operationId": "GetDevices",
"parameters": [
{
"name": "supportsSync",
"in": "query",
"description": "Gets or sets a value indicating whether [supports synchronize].",
"schema": {
"type": "boolean"
}
},
{
"name": "userId",
"in": "query",
"description": "Gets or sets the user identifier.",
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Devices retrieved.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceInfoQueryResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/DeviceInfoQueryResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/DeviceInfoQueryResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"delete": {
"tags": [
"Devices"
],
"summary": "Deletes a device.",
"operationId": "DeleteDevice",
"parameters": [
{
"name": "id",
"in": "query",
"description": "Device Id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Device deleted."
},
"404": {
"description": "Device not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Devices/Info": {
"get": {
"tags": [
"Devices"
],
"summary": "Get info for a device.",
"operationId": "GetDeviceInfo",
"parameters": [
{
"name": "id",
"in": "query",
"description": "Device Id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Device info retrieved.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceInfo"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/DeviceInfo"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/DeviceInfo"
}
}
}
},
"404": {
"description": "Device not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Devices/Options": {
"get": {
"tags": [
"Devices"
],
"summary": "Get options for a device.",
"operationId": "GetDeviceOptions",
"parameters": [
{
"name": "id",
"in": "query",
"description": "Device Id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Device options retrieved.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceOptions"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/DeviceOptions"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/DeviceOptions"
}
}
}
},
"404": {
"description": "Device not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"post": {
"tags": [
"Devices"
],
"summary": "Update device options.",
"operationId": "UpdateDeviceOptions",
"parameters": [
{
"name": "id",
"in": "query",
"description": "Device Id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Device Options.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceOptionsDto"
}
],
"description": "A dto representing custom options for a device."
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceOptionsDto"
}
],
"description": "A dto representing custom options for a device."
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceOptionsDto"
}
],
"description": "A dto representing custom options for a device."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Device options updated."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/DisplayPreferences/{displayPreferencesId}": {
"get": {
"tags": [
"DisplayPreferences"
],
"summary": "Get Display Preferences.",
"operationId": "GetDisplayPreferences",
"parameters": [
{
"name": "displayPreferencesId",
"in": "path",
"description": "Display preferences id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "userId",
"in": "query",
"description": "User id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "client",
"in": "query",
"description": "Client.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Display preferences retrieved.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DisplayPreferencesDto"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/DisplayPreferencesDto"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/DisplayPreferencesDto"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
},
"post": {
"tags": [
"DisplayPreferences"
],
"summary": "Update Display Preferences.",
"operationId": "UpdateDisplayPreferences",
"parameters": [
{
"name": "displayPreferencesId",
"in": "path",
"description": "Display preferences id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "userId",
"in": "query",
"description": "User Id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "client",
"in": "query",
"description": "Client.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "New Display Preferences object.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DisplayPreferencesDto"
}
],
"description": "Defines the display preferences for any item that supports them (usually Folders)."
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DisplayPreferencesDto"
}
],
"description": "Defines the display preferences for any item that supports them (usually Folders)."
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DisplayPreferencesDto"
}
],
"description": "Defines the display preferences for any item that supports them (usually Folders)."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Display preferences updated."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Dlna/ProfileInfos": {
"get": {
"tags": [
"Dlna"
],
"summary": "Get profile infos.",
"operationId": "GetProfileInfos",
"responses": {
"200": {
"description": "Device profile infos returned.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DeviceProfileInfo"
}
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DeviceProfileInfo"
}
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DeviceProfileInfo"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Dlna/Profiles": {
"post": {
"tags": [
"Dlna"
],
"summary": "Creates a profile.",
"operationId": "CreateProfile",
"requestBody": {
"description": "Device profile.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceProfile"
}
],
"description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n<br />\r\nSpecifically, it defines the supported <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles\">containers</see> and\r\n<see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles\">codecs</see> (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles\">containers/codecs to transcode to</see> in case it isn't."
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceProfile"
}
],
"description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n<br />\r\nSpecifically, it defines the supported <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles\">containers</see> and\r\n<see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles\">codecs</see> (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles\">containers/codecs to transcode to</see> in case it isn't."
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceProfile"
}
],
"description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n<br />\r\nSpecifically, it defines the supported <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles\">containers</see> and\r\n<see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles\">codecs</see> (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles\">containers/codecs to transcode to</see> in case it isn't."
}
}
}
},
"responses": {
"204": {
"description": "Device profile created."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Dlna/Profiles/{profileId}": {
"get": {
"tags": [
"Dlna"
],
"summary": "Gets a single profile.",
"operationId": "GetProfile",
"parameters": [
{
"name": "profileId",
"in": "path",
"description": "Profile Id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Device profile returned.",
"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"
}
}
}
},
"404": {
"description": "Device profile not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"delete": {
"tags": [
"Dlna"
],
"summary": "Deletes a profile.",
"operationId": "DeleteProfile",
"parameters": [
{
"name": "profileId",
"in": "path",
"description": "Profile id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Device profile deleted."
},
"404": {
"description": "Device profile not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"post": {
"tags": [
"Dlna"
],
"summary": "Updates a profile.",
"operationId": "UpdateProfile",
"parameters": [
{
"name": "profileId",
"in": "path",
"description": "Profile id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Device profile.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceProfile"
}
],
"description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n<br />\r\nSpecifically, it defines the supported <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles\">containers</see> and\r\n<see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles\">codecs</see> (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles\">containers/codecs to transcode to</see> in case it isn't."
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceProfile"
}
],
"description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n<br />\r\nSpecifically, it defines the supported <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles\">containers</see> and\r\n<see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles\">codecs</see> (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles\">containers/codecs to transcode to</see> in case it isn't."
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DeviceProfile"
}
],
"description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n<br />\r\nSpecifically, it defines the supported <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles\">containers</see> and\r\n<see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles\">codecs</see> (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which <see cref=\"P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles\">containers/codecs to transcode to</see> in case it isn't."
}
}
}
},
"responses": {
"204": {
"description": "Device profile updated."
},
"404": {
"description": "Device profile not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Dlna/Profiles/Default": {
"get": {
"tags": [
"Dlna"
],
"summary": "Gets the default profile.",
"operationId": "GetDefaultProfile",
"responses": {
"200": {
"description": "Default device profile returned.",
"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"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Dlna/{serverId}/ConnectionManager": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets Dlna media receiver registrar xml.",
"operationId": "GetConnectionManager",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Dlna media receiver registrar xml returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/ConnectionManager/ConnectionManager": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets Dlna media receiver registrar xml.",
"operationId": "GetConnectionManager_2",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Dlna media receiver registrar xml returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/ConnectionManager/ConnectionManager.xml": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets Dlna media receiver registrar xml.",
"operationId": "GetConnectionManager_3",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Dlna media receiver registrar xml returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/ConnectionManager/Control": {
"post": {
"tags": [
"DlnaServer"
],
"summary": "Process a connection manager control request.",
"operationId": "ProcessConnectionManagerControlRequest",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Request processed.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/ContentDirectory": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets Dlna content directory xml.",
"operationId": "GetContentDirectory",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Dlna content directory returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/ContentDirectory/ContentDirectory": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets Dlna content directory xml.",
"operationId": "GetContentDirectory_2",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Dlna content directory returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/ContentDirectory/ContentDirectory.xml": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets Dlna content directory xml.",
"operationId": "GetContentDirectory_3",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Dlna content directory returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/ContentDirectory/Control": {
"post": {
"tags": [
"DlnaServer"
],
"summary": "Process a content directory control request.",
"operationId": "ProcessContentDirectoryControlRequest",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Request processed.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/description": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Get Description Xml.",
"operationId": "GetDescriptionXml",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Description xml returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/description.xml": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Get Description Xml.",
"operationId": "GetDescriptionXml_2",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Description xml returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/icons/{fileName}": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets a server icon.",
"operationId": "GetIconId",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "fileName",
"in": "path",
"description": "The icon filename.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Request processed.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Not Found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/MediaReceiverRegistrar": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets Dlna media receiver registrar xml.",
"operationId": "GetMediaReceiverRegistrar",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Dlna media receiver registrar xml returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/MediaReceiverRegistrar/Control": {
"post": {
"tags": [
"DlnaServer"
],
"summary": "Process a media receiver registrar control request.",
"operationId": "ProcessMediaReceiverRegistrarControlRequest",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Request processed.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets Dlna media receiver registrar xml.",
"operationId": "GetMediaReceiverRegistrar_2",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Dlna media receiver registrar xml returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar.xml": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets Dlna media receiver registrar xml.",
"operationId": "GetMediaReceiverRegistrar_3",
"parameters": [
{
"name": "serverId",
"in": "path",
"description": "Server UUID.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Dlna media receiver registrar xml returned.",
"content": {
"text/xml": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Dlna/icons/{fileName}": {
"get": {
"tags": [
"DlnaServer"
],
"summary": "Gets a server icon.",
"operationId": "GetIcon",
"parameters": [
{
"name": "fileName",
"in": "path",
"description": "The icon filename.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Request processed.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Not Found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"503": {
"description": "DLNA is disabled."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"AnonymousLanAccessPolicy"
]
}
]
}
},
"/Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container}": {
"get": {
"tags": [
"DynamicHls"
],
"summary": "Gets a video stream using HTTP live streaming.",
"operationId": "GetHlsAudioSegment",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "playlistId",
"in": "path",
"description": "The playlist id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "segmentId",
"in": "path",
"description": "The segment id.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "container",
"in": "path",
"description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "runtimeTicks",
"in": "query",
"description": "The position of the requested segment in ticks.",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "actualSegmentLengthTicks",
"in": "query",
"description": "The length of the requested segment in ticks.",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxStreamingBitrate",
"in": "query",
"description": "Optional. The maximum streaming bitrate.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
}
],
"responses": {
"200": {
"description": "Video stream returned.",
"content": {
"audio/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Audio/{itemId}/main.m3u8": {
"get": {
"tags": [
"DynamicHls"
],
"summary": "Gets an audio stream using HTTP live streaming.",
"operationId": "GetVariantHlsAudioPlaylist",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxStreamingBitrate",
"in": "query",
"description": "Optional. The maximum streaming bitrate.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
}
],
"responses": {
"200": {
"description": "Audio stream returned.",
"content": {
"application/x-mpegURL": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Audio/{itemId}/master.m3u8": {
"get": {
"tags": [
"DynamicHls"
],
"summary": "Gets an audio hls playlist stream.",
"operationId": "GetMasterHlsAudioPlaylist",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxStreamingBitrate",
"in": "query",
"description": "Optional. The maximum streaming bitrate.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
},
{
"name": "enableAdaptiveBitrateStreaming",
"in": "query",
"description": "Enable adaptive bitrate streaming.",
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Audio stream returned.",
"content": {
"application/x-mpegURL": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
},
"head": {
"tags": [
"DynamicHls"
],
"summary": "Gets an audio hls playlist stream.",
"operationId": "HeadMasterHlsAudioPlaylist",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxStreamingBitrate",
"in": "query",
"description": "Optional. The maximum streaming bitrate.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
},
{
"name": "enableAdaptiveBitrateStreaming",
"in": "query",
"description": "Enable adaptive bitrate streaming.",
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Audio stream returned.",
"content": {
"application/x-mpegURL": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Videos/{itemId}/hls1/{playlistId}/{segmentId}.{container}": {
"get": {
"tags": [
"DynamicHls"
],
"summary": "Gets a video stream using HTTP live streaming.",
"operationId": "GetHlsVideoSegment",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "playlistId",
"in": "path",
"description": "The playlist id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "segmentId",
"in": "path",
"description": "The segment id.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "container",
"in": "path",
"description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "runtimeTicks",
"in": "query",
"description": "The position of the requested segment in ticks.",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "actualSegmentLengthTicks",
"in": "query",
"description": "The length of the requested segment in ticks.",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The desired segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxWidth",
"in": "query",
"description": "Optional. The maximum horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "Optional. The maximum vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
}
],
"responses": {
"200": {
"description": "Video stream returned.",
"content": {
"video/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Videos/{itemId}/live.m3u8": {
"get": {
"tags": [
"DynamicHls"
],
"summary": "Gets a hls live stream.",
"operationId": "GetLiveHlsStream",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "container",
"in": "query",
"description": "The audio container.",
"schema": {
"type": "string"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment lenght.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
},
{
"name": "maxWidth",
"in": "query",
"description": "Optional. The max width.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "Optional. The max height.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "enableSubtitlesInManifest",
"in": "query",
"description": "Optional. Whether to enable subtitles in the manifest.",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Hls live stream retrieved.",
"content": {
"application/x-mpegURL": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Videos/{itemId}/main.m3u8": {
"get": {
"tags": [
"DynamicHls"
],
"summary": "Gets a video stream using HTTP live streaming.",
"operationId": "GetVariantHlsVideoPlaylist",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxWidth",
"in": "query",
"description": "Optional. The maximum horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "Optional. The maximum vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
}
],
"responses": {
"200": {
"description": "Video stream returned.",
"content": {
"application/x-mpegURL": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Videos/{itemId}/master.m3u8": {
"get": {
"tags": [
"DynamicHls"
],
"summary": "Gets a video hls playlist stream.",
"operationId": "GetMasterHlsVideoPlaylist",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxWidth",
"in": "query",
"description": "Optional. The maximum horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "Optional. The maximum vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
},
{
"name": "enableAdaptiveBitrateStreaming",
"in": "query",
"description": "Enable adaptive bitrate streaming.",
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Video stream returned.",
"content": {
"application/x-mpegURL": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
},
"head": {
"tags": [
"DynamicHls"
],
"summary": "Gets a video hls playlist stream.",
"operationId": "HeadMasterHlsVideoPlaylist",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "static",
"in": "query",
"description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false.",
"schema": {
"type": "boolean"
}
},
{
"name": "params",
"in": "query",
"description": "The streaming parameters.",
"schema": {
"type": "string"
}
},
{
"name": "tag",
"in": "query",
"description": "The tag.",
"schema": {
"type": "string"
}
},
{
"name": "deviceProfileId",
"in": "query",
"description": "Optional. The dlna device profile id to utilize.",
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "query",
"description": "The segment container.",
"schema": {
"type": "string"
}
},
{
"name": "segmentLength",
"in": "query",
"description": "The segment length.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "minSegments",
"in": "query",
"description": "The minimum number of segments.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "mediaSourceId",
"in": "query",
"description": "The media version id, if playing an alternate version.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"schema": {
"type": "string"
}
},
{
"name": "audioCodec",
"in": "query",
"description": "Optional. Specify 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.",
"schema": {
"type": "string"
}
},
{
"name": "enableAutoStreamCopy",
"in": "query",
"description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowVideoStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the video stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "allowAudioStreamCopy",
"in": "query",
"description": "Whether or not to allow copying of the audio stream url.",
"schema": {
"type": "boolean"
}
},
{
"name": "breakOnNonKeyFrames",
"in": "query",
"description": "Optional. Whether to break on non key frames.",
"schema": {
"type": "boolean"
}
},
{
"name": "audioSampleRate",
"in": "query",
"description": "Optional. Specify a specific audio sample rate, e.g. 44100.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioBitDepth",
"in": "query",
"description": "Optional. The maximum audio bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioBitRate",
"in": "query",
"description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "audioChannels",
"in": "query",
"description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxAudioChannels",
"in": "query",
"description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "profile",
"in": "query",
"description": "Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high.",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.",
"schema": {
"type": "string"
}
},
{
"name": "framerate",
"in": "query",
"description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "maxFramerate",
"in": "query",
"description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "copyTimestamps",
"in": "query",
"description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.",
"schema": {
"type": "boolean"
}
},
{
"name": "startTimeTicks",
"in": "query",
"description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "width",
"in": "query",
"description": "Optional. The fixed horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "Optional. The fixed vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxWidth",
"in": "query",
"description": "Optional. The maximum horizontal resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "Optional. The maximum vertical resolution of the encoded video.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoBitRate",
"in": "query",
"description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleStreamIndex",
"in": "query",
"description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "subtitleMethod",
"in": "query",
"description": "Optional. Specify the subtitle delivery method.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SubtitleDeliveryMethod"
}
]
}
},
{
"name": "maxRefFrames",
"in": "query",
"description": "Optional.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxVideoBitDepth",
"in": "query",
"description": "Optional. The maximum video bit depth.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "requireAvc",
"in": "query",
"description": "Optional. Whether to require avc.",
"schema": {
"type": "boolean"
}
},
{
"name": "deInterlace",
"in": "query",
"description": "Optional. Whether to deinterlace the video.",
"schema": {
"type": "boolean"
}
},
{
"name": "requireNonAnamorphic",
"in": "query",
"description": "Optional. Whether to require a non anamorphic stream.",
"schema": {
"type": "boolean"
}
},
{
"name": "transcodingMaxAudioChannels",
"in": "query",
"description": "Optional. The maximum number of audio channels to transcode.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cpuCoreLimit",
"in": "query",
"description": "Optional. The limit of how many cpu cores to use.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "liveStreamId",
"in": "query",
"description": "The live stream id.",
"schema": {
"type": "string"
}
},
{
"name": "enableMpegtsM2TsMode",
"in": "query",
"description": "Optional. Whether to enable the MpegtsM2Ts mode.",
"schema": {
"type": "boolean"
}
},
{
"name": "videoCodec",
"in": "query",
"description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv.",
"schema": {
"type": "string"
}
},
{
"name": "subtitleCodec",
"in": "query",
"description": "Optional. Specify a subtitle codec to encode to.",
"schema": {
"type": "string"
}
},
{
"name": "transcodeReasons",
"in": "query",
"description": "Optional. The transcoding reason.",
"schema": {
"type": "string"
}
},
{
"name": "audioStreamIndex",
"in": "query",
"description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "videoStreamIndex",
"in": "query",
"description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "context",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Dlna.EncodingContext.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EncodingContext"
}
]
}
},
{
"name": "streamOptions",
"in": "query",
"description": "Optional. The streaming options.",
"schema": {
"type": "object",
"additionalProperties": {
"type": "string",
"nullable": true
}
}
},
{
"name": "enableAdaptiveBitrateStreaming",
"in": "query",
"description": "Enable adaptive bitrate streaming.",
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Video stream returned.",
"content": {
"application/x-mpegURL": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Environment/DefaultDirectoryBrowser": {
"get": {
"tags": [
"Environment"
],
"summary": "Get Default directory browser.",
"operationId": "GetDefaultDirectoryBrowser",
"responses": {
"200": {
"description": "Default directory browser returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DefaultDirectoryBrowserInfoDto"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/DefaultDirectoryBrowserInfoDto"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/DefaultDirectoryBrowserInfoDto"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"FirstTimeSetupOrElevated"
]
}
]
}
},
"/Environment/DirectoryContents": {
"get": {
"tags": [
"Environment"
],
"summary": "Gets the contents of a given directory in the file system.",
"operationId": "GetDirectoryContents",
"parameters": [
{
"name": "path",
"in": "query",
"description": "The path.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "includeFiles",
"in": "query",
"description": "An optional filter to include or exclude files from the results. true/false.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "includeDirectories",
"in": "query",
"description": "An optional filter to include or exclude folders from the results. true/false.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "Directory contents returned.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileSystemEntryInfo"
}
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileSystemEntryInfo"
}
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileSystemEntryInfo"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"FirstTimeSetupOrElevated"
]
}
]
}
},
"/Environment/Drives": {
"get": {
"tags": [
"Environment"
],
"summary": "Gets available drives from the server's file system.",
"operationId": "GetDrives",
"responses": {
"200": {
"description": "List of entries returned.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileSystemEntryInfo"
}
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileSystemEntryInfo"
}
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileSystemEntryInfo"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"FirstTimeSetupOrElevated"
]
}
]
}
},
"/Environment/NetworkShares": {
"get": {
"tags": [
"Environment"
],
"summary": "Gets network paths.",
"operationId": "GetNetworkShares",
"responses": {
"200": {
"description": "Empty array returned.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileSystemEntryInfo"
}
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileSystemEntryInfo"
}
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileSystemEntryInfo"
}
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"deprecated": true,
"security": [
{
"CustomAuthentication": [
"FirstTimeSetupOrElevated"
]
}
]
}
},
"/Environment/ParentPath": {
"get": {
"tags": [
"Environment"
],
"summary": "Gets the parent path of a given path.",
"operationId": "GetParentPath",
"parameters": [
{
"name": "path",
"in": "query",
"description": "The path.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "string"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "string"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"FirstTimeSetupOrElevated"
]
}
]
}
},
"/Environment/ValidatePath": {
"post": {
"tags": [
"Environment"
],
"summary": "Validates path.",
"operationId": "ValidatePath",
"requestBody": {
"description": "Validate request object.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ValidatePathDto"
}
],
"description": "Validate path object."
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ValidatePathDto"
}
],
"description": "Validate path object."
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ValidatePathDto"
}
],
"description": "Validate path object."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Path validated."
},
"404": {
"description": "Path not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"FirstTimeSetupOrElevated"
]
}
]
}
},
"/Items/Filters": {
"get": {
"tags": [
"Filter"
],
"summary": "Gets legacy query filters.",
"operationId": "GetQueryFiltersLegacy",
"parameters": [
{
"name": "userId",
"in": "query",
"description": "Optional. User id.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "parentId",
"in": "query",
"description": "Optional. Parent id.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "includeItemTypes",
"in": "query",
"description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseItemKind"
}
}
},
{
"name": "mediaTypes",
"in": "query",
"description": "Optional. Filter by MediaType. Allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "Legacy filters retrieved.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryFiltersLegacy"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/QueryFiltersLegacy"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/QueryFiltersLegacy"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Items/Filters2": {
"get": {
"tags": [
"Filter"
],
"summary": "Gets query filters.",
"operationId": "GetQueryFilters",
"parameters": [
{
"name": "userId",
"in": "query",
"description": "Optional. User id.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "parentId",
"in": "query",
"description": "Optional. Specify this to localize the search to a specific item or folder. Omit to use the root.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "includeItemTypes",
"in": "query",
"description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseItemKind"
}
}
},
{
"name": "isAiring",
"in": "query",
"description": "Optional. Is item airing.",
"schema": {
"type": "boolean"
}
},
{
"name": "isMovie",
"in": "query",
"description": "Optional. Is item movie.",
"schema": {
"type": "boolean"
}
},
{
"name": "isSports",
"in": "query",
"description": "Optional. Is item sports.",
"schema": {
"type": "boolean"
}
},
{
"name": "isKids",
"in": "query",
"description": "Optional. Is item kids.",
"schema": {
"type": "boolean"
}
},
{
"name": "isNews",
"in": "query",
"description": "Optional. Is item news.",
"schema": {
"type": "boolean"
}
},
{
"name": "isSeries",
"in": "query",
"description": "Optional. Is item series.",
"schema": {
"type": "boolean"
}
},
{
"name": "recursive",
"in": "query",
"description": "Optional. Search recursive.",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Filters retrieved.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryFilters"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/QueryFilters"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/QueryFilters"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Genres": {
"get": {
"tags": [
"Genres"
],
"summary": "Gets all genres from a given item, folder, or the entire library.",
"operationId": "GetGenres",
"parameters": [
{
"name": "startIndex",
"in": "query",
"description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "limit",
"in": "query",
"description": "Optional. The maximum number of records to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "searchTerm",
"in": "query",
"description": "The search term.",
"schema": {
"type": "string"
}
},
{
"name": "parentId",
"in": "query",
"description": "Specify this to localize the search to a specific item or folder. Omit to use the root.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "fields",
"in": "query",
"description": "Optional. Specify additional fields of information to return in the output.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ItemFields"
}
}
},
{
"name": "excludeItemTypes",
"in": "query",
"description": "Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseItemKind"
}
}
},
{
"name": "includeItemTypes",
"in": "query",
"description": "Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BaseItemKind"
}
}
},
{
"name": "isFavorite",
"in": "query",
"description": "Optional filter by items that are marked as favorite, or not.",
"schema": {
"type": "boolean"
}
},
{
"name": "imageTypeLimit",
"in": "query",
"description": "Optional, the max number of images to return, per image type.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "enableImageTypes",
"in": "query",
"description": "Optional. The image types to include in the output.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImageType"
}
}
},
{
"name": "userId",
"in": "query",
"description": "User id.",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "nameStartsWithOrGreater",
"in": "query",
"description": "Optional filter by items whose name is sorted equally or greater than a given input string.",
"schema": {
"type": "string"
}
},
{
"name": "nameStartsWith",
"in": "query",
"description": "Optional filter by items whose name is sorted equally than a given input string.",
"schema": {
"type": "string"
}
},
{
"name": "nameLessThan",
"in": "query",
"description": "Optional filter by items whose name is equally or lesser than a given input string.",
"schema": {
"type": "string"
}
},
{
"name": "sortBy",
"in": "query",
"description": "Optional. Specify one or more sort orders, comma delimited.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "sortOrder",
"in": "query",
"description": "Sort Order - Ascending,Descending.",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SortOrder"
}
}
},
{
"name": "enableImages",
"in": "query",
"description": "Optional, include image information in output.",
"schema": {
"type": "boolean",
"default": true
}
},
{
"name": "enableTotalRecordCount",
"in": "query",
"description": "Optional. Include total record count.",
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Genres returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDtoQueryResult"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Genres/{genreName}": {
"get": {
"tags": [
"Genres"
],
"summary": "Gets a genre, by name.",
"operationId": "GetGenre",
"parameters": [
{
"name": "genreName",
"in": "path",
"description": "The genre name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "userId",
"in": "query",
"description": "The user id.",
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Genres returned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseItemDto"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDto"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/BaseItemDto"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Audio/{itemId}/hls/{segmentId}/stream.aac": {
"get": {
"tags": [
"HlsSegment"
],
"summary": "Gets the specified audio segment for an audio item.",
"operationId": "GetHlsAudioSegmentLegacyAac",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "segmentId",
"in": "path",
"description": "The segment id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Hls audio segment returned.",
"content": {
"audio/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
}
},
"/Audio/{itemId}/hls/{segmentId}/stream.mp3": {
"get": {
"tags": [
"HlsSegment"
],
"summary": "Gets the specified audio segment for an audio item.",
"operationId": "GetHlsAudioSegmentLegacyMp3",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "segmentId",
"in": "path",
"description": "The segment id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Hls audio segment returned.",
"content": {
"audio/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
}
},
"/Videos/{itemId}/hls/{playlistId}/{segmentId}.{segmentContainer}": {
"get": {
"tags": [
"HlsSegment"
],
"summary": "Gets a hls video segment.",
"operationId": "GetHlsVideoSegmentLegacy",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The item id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "playlistId",
"in": "path",
"description": "The playlist id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "segmentId",
"in": "path",
"description": "The segment id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "segmentContainer",
"in": "path",
"description": "The segment container.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Hls video segment returned.",
"content": {
"video/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Hls segment not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/Videos/{itemId}/hls/{playlistId}/stream.m3u8": {
"get": {
"tags": [
"HlsSegment"
],
"summary": "Gets a hls video playlist.",
"operationId": "GetHlsPlaylistLegacy",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "The video id.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "playlistId",
"in": "path",
"description": "The playlist id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Hls video playlist returned.",
"content": {
"application/x-mpegURL": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Videos/ActiveEncodings": {
"delete": {
"tags": [
"HlsSegment"
],
"summary": "Stops an active encoding.",
"operationId": "StopEncodingProcess",
"parameters": [
{
"name": "deviceId",
"in": "query",
"description": "The device id of the client requesting. Used to stop encoding processes when needed.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "playSessionId",
"in": "query",
"description": "The play session id.",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Encoding stopped successfully."
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Artists/{name}/Images/{imageType}/{imageIndex}": {
"get": {
"tags": [
"Image"
],
"summary": "Get artist image by name.",
"operationId": "GetArtistImage",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Artist name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Get artist image by name.",
"operationId": "HeadArtistImage",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Artist name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/Branding/Splashscreen": {
"get": {
"tags": [
"Image"
],
"summary": "Generates or gets the splashscreen.",
"operationId": "GetSplashscreen",
"parameters": [
{
"name": "tag",
"in": "query",
"description": "Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "blur",
"in": "query",
"description": "Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "quality",
"in": "query",
"description": "Quality setting, from 0-100.",
"schema": {
"maximum": 100,
"minimum": 0,
"type": "integer",
"format": "int32",
"default": 90
}
}
],
"responses": {
"200": {
"description": "Splashscreen returned successfully.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
}
}
},
"post": {
"tags": [
"Image"
],
"summary": "Uploads a custom splashscreen.\r\nThe body is expected to the image contents base64 encoded.",
"operationId": "UploadCustomSplashscreen",
"requestBody": {
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"responses": {
"204": {
"description": "Successfully uploaded new splashscreen."
},
"400": {
"description": "Error reading MimeType from uploaded image.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"403": {
"description": "User does not have permission to upload splashscreen..",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"delete": {
"tags": [
"Image"
],
"summary": "Delete a custom splashscreen.",
"operationId": "DeleteCustomSplashscreen",
"responses": {
"204": {
"description": "Successfully deleted the custom splashscreen."
},
"403": {
"description": "User does not have permission to delete splashscreen.."
},
"401": {
"description": "Unauthorized"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/Genres/{name}/Images/{imageType}": {
"get": {
"tags": [
"Image"
],
"summary": "Get genre image by name.",
"operationId": "GetGenreImage",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Genre name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "query",
"description": "Image index.",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Get genre image by name.",
"operationId": "HeadGenreImage",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Genre name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "query",
"description": "Image index.",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/Genres/{name}/Images/{imageType}/{imageIndex}": {
"get": {
"tags": [
"Image"
],
"summary": "Get genre image by name.",
"operationId": "GetGenreImageByIndex",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Genre name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Get genre image by name.",
"operationId": "HeadGenreImageByIndex",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Genre name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/Items/{itemId}/Images": {
"get": {
"tags": [
"Image"
],
"summary": "Get item image infos.",
"operationId": "GetItemImageInfos",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Item images returned.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImageInfo"
}
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImageInfo"
}
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImageInfo"
}
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"DefaultAuthorization"
]
}
]
}
},
"/Items/{itemId}/Images/{imageType}": {
"delete": {
"tags": [
"Image"
],
"summary": "Delete an item's image.",
"operationId": "DeleteItemImage",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "query",
"description": "The image index.",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"204": {
"description": "Image deleted."
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"post": {
"tags": [
"Image"
],
"summary": "Set item image.",
"operationId": "SetItemImage",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
}
],
"requestBody": {
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"responses": {
"204": {
"description": "Image saved."
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"get": {
"tags": [
"Image"
],
"summary": "Gets the item's image.",
"operationId": "GetItemImage",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "format",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "query",
"description": "Image index.",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Gets the item's image.",
"operationId": "HeadItemImage",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "format",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "query",
"description": "Image index.",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/Items/{itemId}/Images/{imageType}/{imageIndex}": {
"delete": {
"tags": [
"Image"
],
"summary": "Delete an item's image.",
"operationId": "DeleteItemImageByIndex",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "The image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"204": {
"description": "Image deleted."
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"post": {
"tags": [
"Image"
],
"summary": "Set item image.",
"operationId": "SetItemImageByIndex",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "(Unused) Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"responses": {
"204": {
"description": "Image saved."
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
},
"get": {
"tags": [
"Image"
],
"summary": "Gets the item's image.",
"operationId": "GetItemImageByIndex",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "format",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Gets the item's image.",
"operationId": "HeadItemImageByIndex",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "format",
"in": "query",
"description": "Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}": {
"get": {
"tags": [
"Image"
],
"summary": "Gets the item's image.",
"operationId": "GetItemImage2",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "maxWidth",
"in": "path",
"description": "The maximum image width to return.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "path",
"description": "The maximum image height to return.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "path",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "format",
"in": "path",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
],
"description": "Enum ImageOutputFormat."
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "percentPlayed",
"in": "path",
"description": "Optional. Percent to render for the percent played overlay.",
"required": true,
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "path",
"description": "Optional. Unplayed count overlay to render.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Gets the item's image.",
"operationId": "HeadItemImage2",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "maxWidth",
"in": "path",
"description": "The maximum image width to return.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "path",
"description": "The maximum image height to return.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "path",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "format",
"in": "path",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
],
"description": "Enum ImageOutputFormat."
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "percentPlayed",
"in": "path",
"description": "Optional. Percent to render for the percent played overlay.",
"required": true,
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "path",
"description": "Optional. Unplayed count overlay to render.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/Items/{itemId}/Images/{imageType}/{imageIndex}/Index": {
"post": {
"tags": [
"Image"
],
"summary": "Updates the index for an item image.",
"operationId": "UpdateItemImageIndex",
"parameters": [
{
"name": "itemId",
"in": "path",
"description": "Item id.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Old image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "newIndex",
"in": "query",
"description": "New image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"204": {
"description": "Image index updated."
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
},
"security": [
{
"CustomAuthentication": [
"RequiresElevation"
]
}
]
}
},
"/MusicGenres/{name}/Images/{imageType}": {
"get": {
"tags": [
"Image"
],
"summary": "Get music genre image by name.",
"operationId": "GetMusicGenreImage",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Music genre name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "query",
"description": "Image index.",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Get music genre image by name.",
"operationId": "HeadMusicGenreImage",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Music genre name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "query",
"description": "Image index.",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/MusicGenres/{name}/Images/{imageType}/{imageIndex}": {
"get": {
"tags": [
"Image"
],
"summary": "Get music genre image by name.",
"operationId": "GetMusicGenreImageByIndex",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Music genre name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Get music genre image by name.",
"operationId": "HeadMusicGenreImageByIndex",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Music genre name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/Persons/{name}/Images/{imageType}": {
"get": {
"tags": [
"Image"
],
"summary": "Get person image by name.",
"operationId": "GetPersonImage",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Person name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "query",
"description": "Image index.",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Get person image by name.",
"operationId": "HeadPersonImage",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Person name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
},
{
"name": "imageIndex",
"in": "query",
"description": "Image index.",
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/Persons/{name}/Images/{imageType}/{imageIndex}": {
"get": {
"tags": [
"Image"
],
"summary": "Get person image by name.",
"operationId": "GetPersonImageByIndex",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Person name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Image stream returned.",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "Item not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"CamelCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json; profile=\"PascalCase\"": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"head": {
"tags": [
"Image"
],
"summary": "Get person image by name.",
"operationId": "HeadPersonImageByIndex",
"parameters": [
{
"name": "name",
"in": "path",
"description": "Person name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "imageType",
"in": "path",
"description": "Image type.",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageType"
}
],
"description": "Enum ImageType."
}
},
{
"name": "imageIndex",
"in": "path",
"description": "Image index.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "tag",
"in": "query",
"description": "Optional. Supply the cache tag from the item object to receive strong caching headers.",
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Determines the output format of the image - original,gif,jpg,png.",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageFormat"
}
]
}
},
{
"name": "maxWidth",
"in": "query",
"description": "The maximum image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "maxHeight",
"in": "query",
"description": "The maximum image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "percentPlayed",
"in": "query",
"description": "Optional. Percent to render for the percent played overlay.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "unplayedCount",
"in": "query",
"description": "Optional. Unplayed count overlay to render.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "width",
"in": "query",
"description": "The fixed image width to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "height",
"in": "query",
"description": "The fixed image height to return.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "quality",
"in": "query",
"description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillWidth",
"in": "query",
"description": "Width of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "fillHeight",
"in": "query",
"description": "Height of box to fill.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "cropWhitespace",
"in": "query",
"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.",
"deprecated": true,
"schema": {
"type": "boolean"
}
},
{
"name": "addPlayedIndicator",
"in": "query",
"description": "Optional. Add a played indicator.",
"schema": {
"type": "boolean"
}
},
{
"name": "blur",
"in": "query",
"description": "Optional. Blur image.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "backgroundColor",
"in": "query",
"description": "Optional. Apply a background color for transparent images.",
"schema": {
"type": "string"
}
},
{
"name": "foregroundLayer",
"in": "query",
"description": "Optional. Apply a foreground layer on top of the image.",
"schema": {