Created
November 16, 2023 14:14
-
-
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": { | |