From a15809f4fdd771b40327c42e267c95eedd2c4f4d Mon Sep 17 00:00:00 2001 From: Chris Kruining Date: Wed, 16 Apr 2025 00:43:31 +0200 Subject: [PATCH] merge --- bun.lock | 26 +- package.json | 2 + src/auth.ts | 39 +- .../content/apis/jellyfin.generated.d.ts | 32577 ++++++++++++++++ src/features/content/apis/jellyfin.ts | 62 + src/features/content/service.ts | 2 + src/features/shell/top.tsx | 3 +- src/features/theme/context.ts | 98 +- src/features/user/user.ts | 1 + src/routes/(shell).tsx | 10 +- src/routes/(shell)/index.tsx | 32 +- 11 files changed, 32770 insertions(+), 82 deletions(-) create mode 100644 src/features/content/apis/jellyfin.generated.d.ts create mode 100644 src/features/content/apis/jellyfin.ts diff --git a/bun.lock b/bun.lock index 3e3ad73..add5bca 100644 --- a/bun.lock +++ b/bun.lock @@ -11,6 +11,7 @@ "@solidjs/start": "^1.1.3", "better-auth": "^1.2.6", "open-props": "^1.7.14", + "openapi-fetch": "^0.13.5", "sitemap": "^8.0.0", "solid-icons": "^1.1.0", "solid-js": "^1.9.5", @@ -21,6 +22,7 @@ "browserslist": "^4.24.4", "bun-types": "^1.2.7", "lightningcss": "^1.29.3", + "openapi-typescript": "^7.6.1", "solid-devtools": "^0.33.0", "vite-plugin-solid-svg": "^0.8.1", "vite-tsconfig-paths": "^5.1.4", @@ -897,7 +899,7 @@ "min-indent": ["min-indent@1.0.1", "", {}, "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg=="], - "minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], @@ -953,8 +955,12 @@ "open-props": ["open-props@1.7.14", "", {}, "sha512-rTsf6dGrNhlyyN5+ZAdht50s5A7vzHC/gaA56sQnSfwQU53YzWCMjdzX2hhlK+aK+3ojEwTxsvRSlk3FP8TTHA=="], + "openapi-fetch": ["openapi-fetch@0.13.5", "", { "dependencies": { "openapi-typescript-helpers": "^0.0.15" } }, "sha512-AQK8T9GSKFREFlN1DBXTYsLjs7YV2tZcJ7zUWxbjMoQmj8dDSFRrzhLCbHPZWA1TMV3vACqfCxLEZcwf2wxV6Q=="], + "openapi-typescript": ["openapi-typescript@7.6.1", "", { "dependencies": { "@redocly/openapi-core": "^1.28.0", "ansi-colors": "^4.1.3", "change-case": "^5.4.4", "parse-json": "^8.1.0", "supports-color": "^9.4.0", "yargs-parser": "^21.1.1" }, "peerDependencies": { "typescript": "^5.x" }, "bin": { "openapi-typescript": "bin/cli.js" } }, "sha512-F7RXEeo/heF3O9lOXo2bNjCOtfp7u+D6W3a3VNEH2xE6v+fxLtn5nq0uvUcA1F5aT+CMhNeC5Uqtg5tlXFX/ag=="], + "openapi-typescript-helpers": ["openapi-typescript-helpers@0.0.15", "", {}, "sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw=="], + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], "parse-json": ["parse-json@8.2.0", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "index-to-position": "^1.0.0", "type-fest": "^4.37.0" } }, "sha512-eONBZy4hm2AgxjNFd8a4nyDJnzUAH0g34xSQAwWEVGCjdZ4ZL7dKZBfq267GWP/JaS9zW62Xs2FeAdDvpHHJGQ=="], @@ -1143,7 +1149,7 @@ "strip-literal": ["strip-literal@3.0.0", "", { "dependencies": { "js-tokens": "^9.0.1" } }, "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA=="], - "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "supports-color": ["supports-color@9.4.0", "", {}, "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw=="], "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], @@ -1187,7 +1193,7 @@ "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "type-fest": ["type-fest@2.19.0", "", {}, "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="], + "type-fest": ["type-fest@4.37.0", "", {}, "sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg=="], "typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], @@ -1307,8 +1313,6 @@ "@poppinss/dumper/supports-color": ["supports-color@10.0.0", "", {}, "sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ=="], - "@redocly/openapi-core/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], - "@rollup/plugin-commonjs/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], "@rollup/plugin-inject/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], @@ -1335,6 +1339,8 @@ "boxen/chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], + "boxen/type-fest": ["type-fest@2.19.0", "", {}, "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="], + "c12/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "c12/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], @@ -1343,6 +1349,8 @@ "c12/ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], + "chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "cliui/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], "cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], @@ -1357,7 +1365,7 @@ "dax-sh/undici-types": ["undici-types@5.28.4", "", {}, "sha512-3OeMF5Lyowe8VW0skf5qaIE7Or3yS9LS7fvMUI0gg4YxpIBVg0L8BxCmROw2CcYhSkpR68Epz7CGc8MPj94Uww=="], - "dot-prop/type-fest": ["type-fest@4.37.0", "", {}, "sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg=="], + "glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], "is-inside-container/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], @@ -1397,12 +1405,6 @@ "open/is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], - "openapi-typescript/supports-color": ["supports-color@9.4.0", "", {}, "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw=="], - - "parse-json/type-fest": ["type-fest@4.37.0", "", {}, "sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg=="], - - "readdir-glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], - "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "recast/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], diff --git a/package.json b/package.json index ff30cbf..490bce2 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@solidjs/start": "^1.1.3", "better-auth": "^1.2.6", "open-props": "^1.7.14", + "openapi-fetch": "^0.13.5", "sitemap": "^8.0.0", "solid-icons": "^1.1.0", "solid-js": "^1.9.5", @@ -31,6 +32,7 @@ "browserslist": "^4.24.4", "bun-types": "^1.2.7", "lightningcss": "^1.29.3", + "openapi-typescript": "^7.6.1", "solid-devtools": "^0.33.0", "vite-plugin-solid-svg": "^0.8.1", "vite-tsconfig-paths": "^5.1.4", diff --git a/src/auth.ts b/src/auth.ts index b746a2c..bfc4c59 100644 --- a/src/auth.ts +++ b/src/auth.ts @@ -4,19 +4,33 @@ import { createAuthClient } from "better-auth/solid"; import { genericOAuthClient } from "better-auth/client/plugins"; export const auth = betterAuth({ - appName: 'Streamarr', - basePath: '/api/auth', + appName: "Streamarr", + basePath: "/api/auth", advanced: { useSecureCookies: true, - crossSubDomainCookies: { - enabled: true, - }, }, logger: { - level: 'debug', + level: "info", }, - onAPIError: { - throw: true, + user: { + additionalFields: { + name: { + type: "string", + nullable: true, + }, + preferred_username: { + type: "string", + nullable: true, + }, + username: { + type: "string", + nullable: true, + }, + profile: { + type: "string", + nullable: true, + }, + }, }, plugins: [ genericOAuth({ @@ -28,7 +42,14 @@ export const auth = betterAuth({ "ZPuiW2gpVV6MGXIJFk5P3EeSW8V_ICgqduF.hJVCKkrnVmRqIQXRk0o~HSA8ZdCf8joA4m_F", discoveryUrl: "https://auth.kruining.eu/.well-known/openid-configuration", - scopes: ["openid", "email", "picture", "profile", "groups"], + scopes: [ + "offline_access", + "openid", + "email", + "picture", + "profile", + "groups", + ], accessType: "offline", pkce: true, }, diff --git a/src/features/content/apis/jellyfin.generated.d.ts b/src/features/content/apis/jellyfin.generated.d.ts new file mode 100644 index 0000000..713f515 --- /dev/null +++ b/src/features/content/apis/jellyfin.generated.d.ts @@ -0,0 +1,32577 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/System/ActivityLog/Entries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets activity log entries. */ + get: operations["GetLogEntries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Auth/Keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all keys. */ + get: operations["GetKeys"]; + put?: never; + /** Create a new api key. */ + post: operations["CreateKey"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Auth/Keys/{key}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Remove an api key. */ + delete: operations["RevokeKey"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Artists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all artists from a given item, folder, or the entire library. */ + get: operations["GetArtists"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Artists/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an artist by name. */ + get: operations["GetArtistByName"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Artists/AlbumArtists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all album artists from a given item, folder, or the entire library. */ + get: operations["GetAlbumArtists"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/stream": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an audio stream. */ + get: operations["GetAudioStream"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Gets an audio stream. */ + head: operations["HeadAudioStream"]; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/stream.{container}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an audio stream. */ + get: operations["GetAudioStreamByContainer"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Gets an audio stream. */ + head: operations["HeadAudioStreamByContainer"]; + patch?: never; + trace?: never; + }; + "/Branding/Configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets branding configuration. */ + get: operations["GetBrandingOptions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Branding/Css": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets branding css. */ + get: operations["GetBrandingCss"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Branding/Css.css": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets branding css. */ + get: operations["GetBrandingCss_2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Channels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available channels. */ + get: operations["GetChannels"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Channels/{channelId}/Features": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get channel features. */ + get: operations["GetChannelFeatures"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Channels/{channelId}/Items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get channel items. */ + get: operations["GetChannelItems"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Channels/Features": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all channel features. */ + get: operations["GetAllChannelFeatures"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Channels/Items/Latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets latest channel items. */ + get: operations["GetLatestChannelItems"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ClientLog/Document": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Upload a document. */ + post: operations["LogFile"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Collections": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Creates a new collection. */ + post: operations["CreateCollection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Collections/{collectionId}/Items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Adds items to a collection. */ + post: operations["AddToCollection"]; + /** Removes items from a collection. */ + delete: operations["RemoveFromCollection"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets application configuration. */ + get: operations["GetConfiguration"]; + put?: never; + /** Updates application configuration. */ + post: operations["UpdateConfiguration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Configuration/{key}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a named configuration. */ + get: operations["GetNamedConfiguration"]; + put?: never; + /** Updates named configuration. */ + post: operations["UpdateNamedConfiguration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Configuration/MetadataOptions/Default": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a default MetadataOptions object. */ + get: operations["GetDefaultMetadataOptions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/web/ConfigurationPage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a dashboard configuration page. */ + get: operations["GetDashboardConfigurationPage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/web/ConfigurationPages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the configuration pages. */ + get: operations["GetConfigurationPages"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Devices": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Devices. */ + get: operations["GetDevices"]; + put?: never; + post?: never; + /** Deletes a device. */ + delete: operations["DeleteDevice"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Devices/Info": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get info for a device. */ + get: operations["GetDeviceInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Devices/Options": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get options for a device. */ + get: operations["GetDeviceOptions"]; + put?: never; + /** Update device options. */ + post: operations["UpdateDeviceOptions"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/DisplayPreferences/{displayPreferencesId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Display Preferences. */ + get: operations["GetDisplayPreferences"]; + put?: never; + /** Update Display Preferences. */ + post: operations["UpdateDisplayPreferences"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a video stream using HTTP live streaming. */ + get: operations["GetHlsAudioSegment"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/main.m3u8": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an audio stream using HTTP live streaming. */ + get: operations["GetVariantHlsAudioPlaylist"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/master.m3u8": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an audio hls playlist stream. */ + get: operations["GetMasterHlsAudioPlaylist"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Gets an audio hls playlist stream. */ + head: operations["HeadMasterHlsAudioPlaylist"]; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/hls1/{playlistId}/{segmentId}.{container}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a video stream using HTTP live streaming. */ + get: operations["GetHlsVideoSegment"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/live.m3u8": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a hls live stream. */ + get: operations["GetLiveHlsStream"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/main.m3u8": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a video stream using HTTP live streaming. */ + get: operations["GetVariantHlsVideoPlaylist"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/master.m3u8": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a video hls playlist stream. */ + get: operations["GetMasterHlsVideoPlaylist"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Gets a video hls playlist stream. */ + head: operations["HeadMasterHlsVideoPlaylist"]; + patch?: never; + trace?: never; + }; + "/Environment/DefaultDirectoryBrowser": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Default directory browser. */ + get: operations["GetDefaultDirectoryBrowser"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Environment/DirectoryContents": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the contents of a given directory in the file system. */ + get: operations["GetDirectoryContents"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Environment/Drives": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available drives from the server's file system. */ + get: operations["GetDrives"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Environment/NetworkShares": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets network paths. + * @deprecated + */ + get: operations["GetNetworkShares"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Environment/ParentPath": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the parent path of a given path. */ + get: operations["GetParentPath"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Environment/ValidatePath": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Validates path. */ + post: operations["ValidatePath"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/Filters": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets legacy query filters. */ + get: operations["GetQueryFiltersLegacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/Filters2": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets query filters. */ + get: operations["GetQueryFilters"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Genres": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all genres from a given item, folder, or the entire library. */ + get: operations["GetGenres"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Genres/{genreName}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a genre, by name. */ + get: operations["GetGenre"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/hls/{segmentId}/stream.aac": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the specified audio segment for an audio item. */ + get: operations["GetHlsAudioSegmentLegacyAac"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/hls/{segmentId}/stream.mp3": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the specified audio segment for an audio item. */ + get: operations["GetHlsAudioSegmentLegacyMp3"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/hls/{playlistId}/{segmentId}.{segmentContainer}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a hls video segment. */ + get: operations["GetHlsVideoSegmentLegacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/hls/{playlistId}/stream.m3u8": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a hls video playlist. */ + get: operations["GetHlsPlaylistLegacy"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/ActiveEncodings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Stops an active encoding. */ + delete: operations["StopEncodingProcess"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Artists/{name}/Images/{imageType}/{imageIndex}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get artist image by name. */ + get: operations["GetArtistImage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Get artist image by name. */ + head: operations["HeadArtistImage"]; + patch?: never; + trace?: never; + }; + "/Branding/Splashscreen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Generates or gets the splashscreen. */ + get: operations["GetSplashscreen"]; + put?: never; + /** Uploads a custom splashscreen. + * The body is expected to the image contents base64 encoded. */ + post: operations["UploadCustomSplashscreen"]; + /** Delete a custom splashscreen. */ + delete: operations["DeleteCustomSplashscreen"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Genres/{name}/Images/{imageType}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get genre image by name. */ + get: operations["GetGenreImage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Get genre image by name. */ + head: operations["HeadGenreImage"]; + patch?: never; + trace?: never; + }; + "/Genres/{name}/Images/{imageType}/{imageIndex}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get genre image by name. */ + get: operations["GetGenreImageByIndex"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Get genre image by name. */ + head: operations["HeadGenreImageByIndex"]; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Images": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get item image infos. */ + get: operations["GetItemImageInfos"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Images/{imageType}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the item's image. */ + get: operations["GetItemImage"]; + put?: never; + /** Set item image. */ + post: operations["SetItemImage"]; + /** Delete an item's image. */ + delete: operations["DeleteItemImage"]; + options?: never; + /** Gets the item's image. */ + head: operations["HeadItemImage"]; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Images/{imageType}/{imageIndex}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the item's image. */ + get: operations["GetItemImageByIndex"]; + put?: never; + /** Set item image. */ + post: operations["SetItemImageByIndex"]; + /** Delete an item's image. */ + delete: operations["DeleteItemImageByIndex"]; + options?: never; + /** Gets the item's image. */ + head: operations["HeadItemImageByIndex"]; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the item's image. */ + get: operations["GetItemImage2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Gets the item's image. */ + head: operations["HeadItemImage2"]; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Images/{imageType}/{imageIndex}/Index": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Updates the index for an item image. */ + post: operations["UpdateItemImageIndex"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/MusicGenres/{name}/Images/{imageType}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get music genre image by name. */ + get: operations["GetMusicGenreImage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Get music genre image by name. */ + head: operations["HeadMusicGenreImage"]; + patch?: never; + trace?: never; + }; + "/MusicGenres/{name}/Images/{imageType}/{imageIndex}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get music genre image by name. */ + get: operations["GetMusicGenreImageByIndex"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Get music genre image by name. */ + head: operations["HeadMusicGenreImageByIndex"]; + patch?: never; + trace?: never; + }; + "/Persons/{name}/Images/{imageType}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get person image by name. */ + get: operations["GetPersonImage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Get person image by name. */ + head: operations["HeadPersonImage"]; + patch?: never; + trace?: never; + }; + "/Persons/{name}/Images/{imageType}/{imageIndex}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get person image by name. */ + get: operations["GetPersonImageByIndex"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Get person image by name. */ + head: operations["HeadPersonImageByIndex"]; + patch?: never; + trace?: never; + }; + "/Studios/{name}/Images/{imageType}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get studio image by name. */ + get: operations["GetStudioImage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Get studio image by name. */ + head: operations["HeadStudioImage"]; + patch?: never; + trace?: never; + }; + "/Studios/{name}/Images/{imageType}/{imageIndex}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get studio image by name. */ + get: operations["GetStudioImageByIndex"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Get studio image by name. */ + head: operations["HeadStudioImageByIndex"]; + patch?: never; + trace?: never; + }; + "/UserImage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get user profile image. */ + get: operations["GetUserImage"]; + put?: never; + /** Sets the user image. */ + post: operations["PostUserImage"]; + /** Delete the user's image. */ + delete: operations["DeleteUserImage"]; + options?: never; + /** Get user profile image. */ + head: operations["HeadUserImage"]; + patch?: never; + trace?: never; + }; + "/Albums/{itemId}/InstantMix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Creates an instant playlist based on a given album. */ + get: operations["GetInstantMixFromAlbum"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Artists/{itemId}/InstantMix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Creates an instant playlist based on a given artist. */ + get: operations["GetInstantMixFromArtists"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Artists/InstantMix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Creates an instant playlist based on a given artist. + * @deprecated + */ + get: operations["GetInstantMixFromArtists2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/InstantMix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Creates an instant playlist based on a given item. */ + get: operations["GetInstantMixFromItem"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/MusicGenres/{name}/InstantMix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Creates an instant playlist based on a given genre. */ + get: operations["GetInstantMixFromMusicGenreByName"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/MusicGenres/InstantMix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Creates an instant playlist based on a given genre. */ + get: operations["GetInstantMixFromMusicGenreById"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Playlists/{itemId}/InstantMix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Creates an instant playlist based on a given playlist. */ + get: operations["GetInstantMixFromPlaylist"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Songs/{itemId}/InstantMix": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Creates an instant playlist based on a given song. */ + get: operations["GetInstantMixFromSong"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/ExternalIdInfos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the item's external id info. */ + get: operations["GetExternalIdInfos"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/Apply/{itemId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Applies search criteria to an item and refreshes metadata. */ + post: operations["ApplySearchCriteria"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/Book": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get book remote search. */ + post: operations["GetBookRemoteSearchResults"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/BoxSet": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get box set remote search. */ + post: operations["GetBoxSetRemoteSearchResults"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/Movie": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get movie remote search. */ + post: operations["GetMovieRemoteSearchResults"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/MusicAlbum": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get music album remote search. */ + post: operations["GetMusicAlbumRemoteSearchResults"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/MusicArtist": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get music artist remote search. */ + post: operations["GetMusicArtistRemoteSearchResults"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/MusicVideo": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get music video remote search. */ + post: operations["GetMusicVideoRemoteSearchResults"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/Person": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get person remote search. */ + post: operations["GetPersonRemoteSearchResults"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/Series": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get series remote search. */ + post: operations["GetSeriesRemoteSearchResults"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/RemoteSearch/Trailer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Get trailer remote search. */ + post: operations["GetTrailerRemoteSearchResults"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Refresh": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Refreshes metadata for an item. */ + post: operations["RefreshItem"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets items based on a query. */ + get: operations["GetItems"]; + put?: never; + post?: never; + /** Deletes items from the library and filesystem. */ + delete: operations["DeleteItems"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/UserItems/{itemId}/UserData": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Item User Data. */ + get: operations["GetItemUserData"]; + put?: never; + /** Update Item User Data. */ + post: operations["UpdateItemUserData"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/UserItems/Resume": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets items based on a query. */ + get: operations["GetResumeItems"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an item from a user's library. */ + get: operations["GetItem"]; + put?: never; + /** Updates an item. */ + post: operations["UpdateItem"]; + /** Deletes an item from the library and filesystem. */ + delete: operations["DeleteItem"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/ContentType": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Updates an item's content type. */ + post: operations["UpdateItemContentType"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/MetadataEditor": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets metadata editor info for an item. */ + get: operations["GetMetadataEditorInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Albums/{itemId}/Similar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets similar items. */ + get: operations["GetSimilarAlbums"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Artists/{itemId}/Similar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets similar items. */ + get: operations["GetSimilarArtists"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Ancestors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all parents of an item. */ + get: operations["GetAncestors"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/CriticReviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets critic review for an item. + * @deprecated + */ + get: operations["GetCriticReviews"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Download": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Downloads item media. */ + get: operations["GetDownload"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/File": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the original file of an item. */ + get: operations["GetFile"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Similar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets similar items. */ + get: operations["GetSimilarItems"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/ThemeMedia": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get theme songs and videos for an item. */ + get: operations["GetThemeMedia"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/ThemeSongs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get theme songs for an item. */ + get: operations["GetThemeSongs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/ThemeVideos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get theme videos for an item. */ + get: operations["GetThemeVideos"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/Counts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get item counts. */ + get: operations["GetItemCounts"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Libraries/AvailableOptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the library options info. */ + get: operations["GetLibraryOptionsInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/Media/Updated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports that new movies have been added by an external source. */ + post: operations["PostUpdatedMedia"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/MediaFolders": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all user media folders. */ + get: operations["GetMediaFolders"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/Movies/Added": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports that new movies have been added by an external source. */ + post: operations["PostAddedMovies"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/Movies/Updated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports that new movies have been added by an external source. */ + post: operations["PostUpdatedMovies"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/PhysicalPaths": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of physical paths from virtual folders. */ + get: operations["GetPhysicalPaths"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/Refresh": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Starts a library scan. */ + post: operations["RefreshLibrary"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/Series/Added": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports that new episodes of a series have been added by an external source. */ + post: operations["PostAddedSeries"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/Series/Updated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports that new episodes of a series have been added by an external source. */ + post: operations["PostUpdatedSeries"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Movies/{itemId}/Similar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets similar items. */ + get: operations["GetSimilarMovies"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Shows/{itemId}/Similar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets similar items. */ + get: operations["GetSimilarShows"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Trailers/{itemId}/Similar": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets similar items. */ + get: operations["GetSimilarTrailers"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/VirtualFolders": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all virtual folders. */ + get: operations["GetVirtualFolders"]; + put?: never; + /** Adds a virtual folder. */ + post: operations["AddVirtualFolder"]; + /** Removes a virtual folder. */ + delete: operations["RemoveVirtualFolder"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/VirtualFolders/LibraryOptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update library options. */ + post: operations["UpdateLibraryOptions"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/VirtualFolders/Name": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Renames a virtual folder. */ + post: operations["RenameVirtualFolder"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/VirtualFolders/Paths": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Add a media path to a library. */ + post: operations["AddMediaPath"]; + /** Remove a media path. */ + delete: operations["RemoveMediaPath"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Library/VirtualFolders/Paths/Update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Updates a media path. */ + post: operations["UpdateMediaPath"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/ChannelMappingOptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get channel mapping options. */ + get: operations["GetChannelMappingOptions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/ChannelMappings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Set channel mappings. */ + post: operations["SetChannelMapping"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Channels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available live tv channels. */ + get: operations["GetLiveTvChannels"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Channels/{channelId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a live tv channel. */ + get: operations["GetChannel"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/GuideInfo": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get guid info. */ + get: operations["GetGuideInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Info": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available live tv services. */ + get: operations["GetLiveTvInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/ListingProviders": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Adds a listings provider. */ + post: operations["AddListingProvider"]; + /** Delete listing provider. */ + delete: operations["DeleteListingProvider"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/ListingProviders/Default": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets default listings provider info. */ + get: operations["GetDefaultListingProvider"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/ListingProviders/Lineups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available lineups. */ + get: operations["GetLineups"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/ListingProviders/SchedulesDirect/Countries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available countries. */ + get: operations["GetSchedulesDirectCountries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/LiveRecordings/{recordingId}/stream": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a live tv recording stream. */ + get: operations["GetLiveRecordingFile"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/LiveStreamFiles/{streamId}/stream.{container}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a live tv channel stream. */ + get: operations["GetLiveStreamFile"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Programs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available live tv epgs. */ + get: operations["GetLiveTvPrograms"]; + put?: never; + /** Gets available live tv epgs. */ + post: operations["GetPrograms"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Programs/{programId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a live tv program. */ + get: operations["GetProgram"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Programs/Recommended": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets recommended live tv epgs. */ + get: operations["GetRecommendedPrograms"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Recordings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets live tv recordings. */ + get: operations["GetRecordings"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Recordings/{recordingId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a live tv recording. */ + get: operations["GetRecording"]; + put?: never; + post?: never; + /** Deletes a live tv recording. */ + delete: operations["DeleteRecording"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Recordings/Folders": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets recording folders. */ + get: operations["GetRecordingFolders"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Recordings/Groups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets live tv recording groups. + * @deprecated + */ + get: operations["GetRecordingGroups"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Recordings/Groups/{groupId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get recording group. + * @deprecated + */ + get: operations["GetRecordingGroup"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Recordings/Series": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets live tv recording series. + * @deprecated + */ + get: operations["GetRecordingsSeries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/SeriesTimers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets live tv series timers. */ + get: operations["GetSeriesTimers"]; + put?: never; + /** Creates a live tv series timer. */ + post: operations["CreateSeriesTimer"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/SeriesTimers/{timerId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a live tv series timer. */ + get: operations["GetSeriesTimer"]; + put?: never; + /** Updates a live tv series timer. */ + post: operations["UpdateSeriesTimer"]; + /** Cancels a live tv series timer. */ + delete: operations["CancelSeriesTimer"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Timers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the live tv timers. */ + get: operations["GetTimers"]; + put?: never; + /** Creates a live tv timer. */ + post: operations["CreateTimer"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Timers/{timerId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a timer. */ + get: operations["GetTimer"]; + put?: never; + /** Updates a live tv timer. */ + post: operations["UpdateTimer"]; + /** Cancels a live tv timer. */ + delete: operations["CancelTimer"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Timers/Defaults": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the default values for a new timer. */ + get: operations["GetDefaultTimer"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/TunerHosts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Adds a tuner host. */ + post: operations["AddTunerHost"]; + /** Deletes a tuner host. */ + delete: operations["DeleteTunerHost"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/TunerHosts/Types": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get tuner host types. */ + get: operations["GetTunerHostTypes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Tuners/{tunerId}/Reset": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Resets a tv tuner. */ + post: operations["ResetTuner"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Tuners/Discover": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Discover tuners. */ + get: operations["DiscoverTuners"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveTv/Tuners/Discvover": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Discover tuners. */ + get: operations["DiscvoverTuners"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Localization/Countries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets known countries. */ + get: operations["GetCountries"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Localization/Cultures": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets known cultures. */ + get: operations["GetCultures"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Localization/Options": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets localization options. */ + get: operations["GetLocalizationOptions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Localization/ParentalRatings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets known parental ratings. */ + get: operations["GetParentalRatings"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/Lyrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an item's lyrics. */ + get: operations["GetLyrics"]; + put?: never; + /** Upload an external lyric file. */ + post: operations["UploadLyrics"]; + /** Deletes an external lyric file. */ + delete: operations["DeleteLyrics"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/RemoteSearch/Lyrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Search remote lyrics. */ + get: operations["SearchRemoteLyrics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/RemoteSearch/Lyrics/{lyricId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Downloads a remote lyric. */ + post: operations["DownloadRemoteLyrics"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Providers/Lyrics/{lyricId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the remote lyrics. */ + get: operations["GetRemoteLyrics"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/PlaybackInfo": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets live playback media info for an item. */ + get: operations["GetPlaybackInfo"]; + put?: never; + /** + * Gets live playback media info for an item. + * @description For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. + * Query parameters are obsolete. + */ + post: operations["GetPostedPlaybackInfo"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveStreams/Close": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Closes a media source. */ + post: operations["CloseLiveStream"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/LiveStreams/Open": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Opens a media source. */ + post: operations["OpenLiveStream"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Playback/BitrateTest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Tests the network with a request with the size of the bitrate. */ + get: operations["GetBitrateTestBytes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/MediaSegments/{itemId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all media segments based on an itemId. */ + get: operations["GetItemSegments"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Movies/Recommendations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets movie recommendations. */ + get: operations["GetMovieRecommendations"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/MusicGenres": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets all music genres from a given item, folder, or the entire library. + * @deprecated + */ + get: operations["GetMusicGenres"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/MusicGenres/{genreName}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a music genre, by name. */ + get: operations["GetMusicGenre"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available packages. */ + get: operations["GetPackages"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Packages/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a package by name or assembly GUID. */ + get: operations["GetPackageInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Packages/Installed/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Installs a package. */ + post: operations["InstallPackage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Packages/Installing/{packageId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Cancels a package installation. */ + delete: operations["CancelPackageInstallation"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all package repositories. */ + get: operations["GetRepositories"]; + put?: never; + /** Sets the enabled and existing package repositories. */ + post: operations["SetRepositories"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Persons": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all persons. */ + get: operations["GetPersons"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Persons/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get person by name. */ + get: operations["GetPerson"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Playlists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Creates a new playlist. + * @description For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. + * Query parameters are obsolete. + */ + post: operations["CreatePlaylist"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Playlists/{playlistId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a playlist. */ + get: operations["GetPlaylist"]; + put?: never; + /** Updates a playlist. */ + post: operations["UpdatePlaylist"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Playlists/{playlistId}/Items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the original items of a playlist. */ + get: operations["GetPlaylistItems"]; + put?: never; + /** Adds items to a playlist. */ + post: operations["AddItemToPlaylist"]; + /** Removes items from a playlist. */ + delete: operations["RemoveItemFromPlaylist"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Playlists/{playlistId}/Items/{itemId}/Move/{newIndex}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Moves a playlist item. */ + post: operations["MoveItem"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Playlists/{playlistId}/Users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a playlist's users. */ + get: operations["GetPlaylistUsers"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Playlists/{playlistId}/Users/{userId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a playlist user. */ + get: operations["GetPlaylistUser"]; + put?: never; + /** Modify a user of a playlist's users. */ + post: operations["UpdatePlaylistUser"]; + /** Remove a user from a playlist's users. */ + delete: operations["RemoveUserFromPlaylist"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/PlayingItems/{itemId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports that a session has begun playing an item. */ + post: operations["OnPlaybackStart"]; + /** Reports that a session has stopped playing an item. */ + delete: operations["OnPlaybackStopped"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/PlayingItems/{itemId}/Progress": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports a session's playback progress. */ + post: operations["OnPlaybackProgress"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/Playing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports playback has started within a session. */ + post: operations["ReportPlaybackStart"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/Playing/Ping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Pings a playback session. */ + post: operations["PingPlaybackSession"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/Playing/Progress": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports playback progress within a session. */ + post: operations["ReportPlaybackProgress"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/Playing/Stopped": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports playback has stopped within a session. */ + post: operations["ReportPlaybackStopped"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/UserPlayedItems/{itemId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Marks an item as played for user. */ + post: operations["MarkPlayedItem"]; + /** Marks an item as unplayed for user. */ + delete: operations["MarkUnplayedItem"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Plugins": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of currently installed plugins. */ + get: operations["GetPlugins"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Plugins/{pluginId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Uninstalls a plugin. + * @deprecated + */ + delete: operations["UninstallPlugin"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Plugins/{pluginId}/{version}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Uninstalls a plugin by version. */ + delete: operations["UninstallPluginByVersion"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Plugins/{pluginId}/{version}/Disable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Disable a plugin. */ + post: operations["DisablePlugin"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Plugins/{pluginId}/{version}/Enable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Enables a disabled plugin. */ + post: operations["EnablePlugin"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Plugins/{pluginId}/{version}/Image": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a plugin's image. */ + get: operations["GetPluginImage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Plugins/{pluginId}/Configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets plugin configuration. */ + get: operations["GetPluginConfiguration"]; + put?: never; + /** + * Updates plugin configuration. + * @description Accepts plugin configuration as JSON body. + */ + post: operations["UpdatePluginConfiguration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Plugins/{pluginId}/Manifest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Gets a plugin's manifest. */ + post: operations["GetPluginManifest"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/QuickConnect/Authorize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Authorizes a pending quick connect request. */ + post: operations["AuthorizeQuickConnect"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/QuickConnect/Connect": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Attempts to retrieve authentication information. */ + get: operations["GetQuickConnectState"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/QuickConnect/Enabled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the current quick connect state. */ + get: operations["GetQuickConnectEnabled"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/QuickConnect/Initiate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Initiate a new quick connect request. */ + post: operations["InitiateQuickConnect"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/RemoteImages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available remote images for an item. */ + get: operations["GetRemoteImages"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/RemoteImages/Download": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Downloads a remote image for an item. */ + post: operations["DownloadRemoteImage"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/RemoteImages/Providers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets available remote image providers for an item. */ + get: operations["GetRemoteImageProviders"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ScheduledTasks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get tasks. */ + get: operations["GetTasks"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ScheduledTasks/{taskId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get task by id. */ + get: operations["GetTask"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ScheduledTasks/{taskId}/Triggers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update specified task triggers. */ + post: operations["UpdateTask"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/ScheduledTasks/Running/{taskId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Start specified task. */ + post: operations["StartTask"]; + /** Stop specified task. */ + delete: operations["StopTask"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Search/Hints": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the search hint result. */ + get: operations["GetSearchHints"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Auth/PasswordResetProviders": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all password reset providers. */ + get: operations["GetPasswordResetProviders"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Auth/Providers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all auth providers. */ + get: operations["GetAuthProviders"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of sessions. */ + get: operations["GetSessions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/{sessionId}/Command": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Issues a full general command to a client. */ + post: operations["SendFullGeneralCommand"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/{sessionId}/Command/{command}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Issues a general command to a client. */ + post: operations["SendGeneralCommand"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/{sessionId}/Message": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Issues a command to a client to display a message to the user. */ + post: operations["SendMessageCommand"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/{sessionId}/Playing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Instructs a session to play an item. */ + post: operations["Play"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/{sessionId}/Playing/{command}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Issues a playstate command to a client. */ + post: operations["SendPlaystateCommand"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/{sessionId}/System/{command}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Issues a system command to a client. */ + post: operations["SendSystemCommand"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/{sessionId}/User/{userId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Adds an additional user to a session. */ + post: operations["AddUserToSession"]; + /** Removes an additional user from a session. */ + delete: operations["RemoveUserFromSession"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/{sessionId}/Viewing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Instructs a session to browse to an item or view. */ + post: operations["DisplayContent"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/Capabilities": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Updates capabilities for a device. */ + post: operations["PostCapabilities"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/Capabilities/Full": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Updates capabilities for a device. */ + post: operations["PostFullCapabilities"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/Logout": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports that a session has ended. */ + post: operations["ReportSessionEnded"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Sessions/Viewing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Reports that a session is viewing an item. */ + post: operations["ReportViewing"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/{mode}/Link/{provider}/{jellyfinUserId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["AddCanonicalLink"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/{mode}/Link/{provider}/{jellyfinUserId}/{canonicalName}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + delete: operations["DeleteCanonicalLink"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/Add/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["OidAdd"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/Auth/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["OidAuth"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/Del/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["OidDel"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/Get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["OidProviders"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/GetNames": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["OidProviderNames"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/oid/links/{jellyfinUserId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["GetOidLinksByUser"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/p/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["OidChallenge"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/r/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["OidPost"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/redirect/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["OidPost"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/start/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["OidChallenge"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/OID/States": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["OidStates"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/SAML/Add/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["SamlAdd"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/SAML/Auth/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["SamlAuth"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/SAML/Del/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["SamlDel"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/SAML/Get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["SamlProviders"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/SAML/GetNames": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["SamlProviderNames"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/saml/links/{jellyfinUserId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["GetSamlLinksByUser"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/SAML/p/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["SamlChallenge"]; + put?: never; + post: operations["SamlPost"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/SAML/post/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["SamlPost"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/SAML/start/{provider}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["SamlChallenge"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSO/Unregister/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post: operations["Unregister"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SSOViews/{viewName}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["GetView"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Startup/Complete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Completes the startup wizard. */ + post: operations["CompleteWizard"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Startup/Configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the initial startup wizard configuration. */ + get: operations["GetStartupConfiguration"]; + put?: never; + /** Sets the initial startup wizard configuration. */ + post: operations["UpdateInitialConfiguration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Startup/FirstUser": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the first user. */ + get: operations["GetFirstUser_2"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Startup/RemoteAccess": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Sets remote access and UPnP. */ + post: operations["SetRemoteAccess"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Startup/User": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the first user. */ + get: operations["GetFirstUser"]; + put?: never; + /** Sets the user name and password. */ + post: operations["UpdateStartupUser"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Studios": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all studios from a given item, folder, or the entire library. */ + get: operations["GetStudios"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Studios/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a studio by name. */ + get: operations["GetStudio"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/FallbackFont/Fonts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of available fallback font files. */ + get: operations["GetFallbackFontList"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/FallbackFont/Fonts/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a fallback font file. */ + get: operations["GetFallbackFont"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/RemoteSearch/Subtitles/{language}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Search remote subtitles. */ + get: operations["SearchRemoteSubtitles"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/RemoteSearch/Subtitles/{subtitleId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Downloads a remote subtitle. */ + post: operations["DownloadRemoteSubtitles"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Providers/Subtitles/Subtitles/{subtitleId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the remote subtitles. */ + get: operations["GetRemoteSubtitles"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/subtitles.m3u8": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an HLS subtitle playlist. */ + get: operations["GetSubtitlePlaylist"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/Subtitles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Upload an external subtitle file. */ + post: operations["UploadSubtitle"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/Subtitles/{index}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Deletes an external subtitle file. */ + delete: operations["DeleteSubtitle"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{routeItemId}/{routeMediaSourceId}/Subtitles/{routeIndex}/{routeStartPositionTicks}/Stream.{routeFormat}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets subtitles in a specified format. */ + get: operations["GetSubtitleWithTicks"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{routeItemId}/{routeMediaSourceId}/Subtitles/{routeIndex}/Stream.{routeFormat}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets subtitles in a specified format. */ + get: operations["GetSubtitle"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/Suggestions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets suggestions. */ + get: operations["GetSuggestions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Buffering": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Notify SyncPlay group that member is buffering. */ + post: operations["SyncPlayBuffering"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Join": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Join an existing SyncPlay group. */ + post: operations["SyncPlayJoinGroup"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Leave": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Leave the joined SyncPlay group. */ + post: operations["SyncPlayLeaveGroup"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/List": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets all SyncPlay groups. */ + get: operations["SyncPlayGetGroups"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/MovePlaylistItem": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request to move an item in the playlist in SyncPlay group. */ + post: operations["SyncPlayMovePlaylistItem"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/New": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Create a new SyncPlay group. */ + post: operations["SyncPlayCreateGroup"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/NextItem": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request next item in SyncPlay group. */ + post: operations["SyncPlayNextItem"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Pause": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request pause in SyncPlay group. */ + post: operations["SyncPlayPause"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Ping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Update session ping. */ + post: operations["SyncPlayPing"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/PreviousItem": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request previous item in SyncPlay group. */ + post: operations["SyncPlayPreviousItem"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Queue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request to queue items to the playlist of a SyncPlay group. */ + post: operations["SyncPlayQueue"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Ready": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Notify SyncPlay group that member is ready for playback. */ + post: operations["SyncPlayReady"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/RemoveFromPlaylist": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request to remove items from the playlist in SyncPlay group. */ + post: operations["SyncPlayRemoveFromPlaylist"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Seek": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request seek in SyncPlay group. */ + post: operations["SyncPlaySeek"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/SetIgnoreWait": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request SyncPlay group to ignore member during group-wait. */ + post: operations["SyncPlaySetIgnoreWait"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/SetNewQueue": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request to set new playlist in SyncPlay group. */ + post: operations["SyncPlaySetNewQueue"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/SetPlaylistItem": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request to change playlist item in SyncPlay group. */ + post: operations["SyncPlaySetPlaylistItem"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/SetRepeatMode": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request to set repeat mode in SyncPlay group. */ + post: operations["SyncPlaySetRepeatMode"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/SetShuffleMode": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request to set shuffle mode in SyncPlay group. */ + post: operations["SyncPlaySetShuffleMode"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Stop": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request stop in SyncPlay group. */ + post: operations["SyncPlayStop"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/SyncPlay/Unpause": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Request unpause in SyncPlay group. */ + post: operations["SyncPlayUnpause"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Endpoint": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets information about the request endpoint. */ + get: operations["GetEndpointInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Info": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets information about the server. */ + get: operations["GetSystemInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Info/Public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets public information about the server. */ + get: operations["GetPublicSystemInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of available server log files. */ + get: operations["GetServerLogs"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Logs/Log": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a log file. */ + get: operations["GetLogFile"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Ping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Pings the system. */ + get: operations["GetPingSystem"]; + put?: never; + /** Pings the system. */ + post: operations["PostPingSystem"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Restart": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Restarts the application. */ + post: operations["RestartApplication"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/Shutdown": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Shuts down the application. */ + post: operations["ShutdownApplication"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/System/WakeOnLanInfo": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Gets wake on lan information. + * @deprecated + */ + get: operations["GetWakeOnLanInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/GetUtcTime": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the current UTC time. */ + get: operations["GetUtcTime"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Tmdb/ClientConfiguration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the TMDb image configuration options. */ + get: operations["TmdbClientConfiguration"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Trailers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Finds movies and trailers similar to a given trailer. */ + get: operations["GetTrailers"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/Trickplay/{width}/{index}.jpg": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a trickplay tile image. */ + get: operations["GetTrickplayTileImage"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/Trickplay/{width}/tiles.m3u8": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an image tiles playlist for trickplay. */ + get: operations["GetTrickplayHlsPlaylist"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Shows/{seriesId}/Episodes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets episodes for a tv season. */ + get: operations["GetEpisodes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Shows/{seriesId}/Seasons": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets seasons for a tv series. */ + get: operations["GetSeasons"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Shows/NextUp": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of next up episodes. */ + get: operations["GetNextUp"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Shows/Upcoming": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of upcoming episodes. */ + get: operations["GetUpcomingEpisodes"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Audio/{itemId}/universal": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets an audio stream. */ + get: operations["GetUniversalAudioStream"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Gets an audio stream. */ + head: operations["HeadUniversalAudioStream"]; + patch?: never; + trace?: never; + }; + "/Users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of users. */ + get: operations["GetUsers"]; + put?: never; + /** Updates a user. */ + post: operations["UpdateUser"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/{userId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a user by Id. */ + get: operations["GetUserById"]; + put?: never; + post?: never; + /** Deletes a user. */ + delete: operations["DeleteUser"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/{userId}/Policy": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Updates a user policy. */ + post: operations["UpdateUserPolicy"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/AuthenticateByName": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Authenticates a user by name. */ + post: operations["AuthenticateUserByName"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/AuthenticateWithQuickConnect": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Authenticates a user with quick connect. */ + post: operations["AuthenticateWithQuickConnect"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/Configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Updates a user configuration. */ + post: operations["UpdateUserConfiguration"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/ForgotPassword": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Initiates the forgot password process for a local user. */ + post: operations["ForgotPassword"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/ForgotPassword/Pin": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Redeems a forgot password pin. */ + post: operations["ForgotPasswordPin"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/Me": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the user based on auth token. */ + get: operations["GetCurrentUser"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/New": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Creates a user. */ + post: operations["CreateUserByName"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/Password": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Updates a user's password. */ + post: operations["UpdateUserPassword"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Users/Public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a list of publicly visible users for display on a login screen. */ + get: operations["GetPublicUsers"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/Intros": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets intros to play before the main media item plays. */ + get: operations["GetIntros"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/LocalTrailers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets local trailers for an item. */ + get: operations["GetLocalTrailers"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/{itemId}/SpecialFeatures": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets special features for an item. */ + get: operations["GetSpecialFeatures"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/Latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets latest media. */ + get: operations["GetLatestMedia"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Items/Root": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets the root folder from a user's library. */ + get: operations["GetRootFolder"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/UserFavoriteItems/{itemId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Marks an item as a favorite. */ + post: operations["MarkFavoriteItem"]; + /** Unmarks item as a favorite. */ + delete: operations["UnmarkFavoriteItem"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/UserItems/{itemId}/Rating": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Updates a user's rating for an item. */ + post: operations["UpdateUserItemRating"]; + /** Deletes a user's saved personal rating for an item. */ + delete: operations["DeleteUserItemRating"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/UserViews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get user views. */ + get: operations["GetUserViews"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/UserViews/GroupingOptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get user view grouping options. */ + get: operations["GetGroupingOptions"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{videoId}/{mediaSourceId}/Attachments/{index}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get video attachment. */ + get: operations["GetAttachment"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/AdditionalParts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets additional parts for a video. */ + get: operations["GetAdditionalPart"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/AlternateSources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** Removes alternate video sources. */ + delete: operations["DeleteAlternateSources"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/stream": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a video stream. */ + get: operations["GetVideoStream"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Gets a video stream. */ + head: operations["HeadVideoStream"]; + patch?: never; + trace?: never; + }; + "/Videos/{itemId}/stream.{container}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a video stream. */ + get: operations["GetVideoStreamByContainer"]; + put?: never; + post?: never; + delete?: never; + options?: never; + /** Gets a video stream. */ + head: operations["HeadVideoStreamByContainer"]; + patch?: never; + trace?: never; + }; + "/Videos/MergeVersions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Merges videos into a single record. */ + post: operations["MergeVersions"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Years": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get years. */ + get: operations["GetYears"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/Years/{year}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Gets a year. */ + get: operations["GetYear"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + /** @description An entity representing a user's access schedule. */ + AccessSchedule: { + /** + * Format: int32 + * @description Gets the id of this instance. + */ + readonly Id?: number; + /** + * Format: uuid + * @description Gets the id of the associated user. + */ + UserId?: string; + /** + * @description Gets or sets the day of week. + * @enum {unknown} + */ + DayOfWeek?: "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Everyday" | "Weekday" | "Weekend"; + /** + * Format: double + * @description Gets or sets the start hour. + */ + StartHour?: number; + /** + * Format: double + * @description Gets or sets the end hour. + */ + EndHour?: number; + }; + /** @description An activity log entry. */ + ActivityLogEntry: { + /** + * Format: int64 + * @description Gets or sets the identifier. + */ + Id?: number; + /** @description Gets or sets the name. */ + Name?: string; + /** @description Gets or sets the overview. */ + Overview?: string | null; + /** @description Gets or sets the short overview. */ + ShortOverview?: string | null; + /** @description Gets or sets the type. */ + Type?: string; + /** @description Gets or sets the item identifier. */ + ItemId?: string | null; + /** + * Format: date-time + * @description Gets or sets the date. + */ + Date?: string; + /** + * Format: uuid + * @description Gets or sets the user identifier. + */ + UserId?: string; + /** + * @deprecated + * @description Gets or sets the user primary image tag. + */ + UserPrimaryImageTag?: string | null; + /** + * @description Gets or sets the log severity. + * @enum {unknown} + */ + Severity?: "Trace" | "Debug" | "Information" | "Warning" | "Error" | "Critical" | "None"; + }; + /** @description Activity log created message. */ + ActivityLogEntryMessage: { + /** @description Gets or sets the data. */ + Data?: components["schemas"]["ActivityLogEntry"][] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ActivityLogEntry"; + }; + /** @description Query result container. */ + ActivityLogEntryQueryResult: { + /** @description Gets or sets the items. */ + Items?: components["schemas"]["ActivityLogEntry"][]; + /** + * Format: int32 + * @description Gets or sets the total number of records available. + */ + TotalRecordCount?: number; + /** + * Format: int32 + * @description Gets or sets the index of the first record in Items. + */ + StartIndex?: number; + }; + /** @description Activity log entry start message. + * Data is the timing data encoded as "$initialDelay,$interval" in ms. */ + ActivityLogEntryStartMessage: { + /** @description Gets or sets the data. */ + Data?: string | null; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ActivityLogEntryStart"; + }; + /** @description Activity log entry stop message. */ + ActivityLogEntryStopMessage: { + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ActivityLogEntryStop"; + }; + /** @description Add virtual folder dto. */ + AddVirtualFolderDto: { + /** @description Gets or sets library options. */ + LibraryOptions?: components["schemas"]["LibraryOptions"] | null; + }; + AlbumInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + /** @description Gets or sets the album artist. */ + AlbumArtists?: string[]; + /** @description Gets or sets the artist provider ids. */ + ArtistProviderIds?: { + [key: string]: string | null; + }; + SongInfos?: components["schemas"]["SongInfo"][]; + }; + AlbumInfoRemoteSearchQuery: { + SearchInfo?: components["schemas"]["AlbumInfo"] | null; + /** Format: uuid */ + ItemId?: string; + /** @description Gets or sets the provider name to search within if set. */ + SearchProviderName?: string | null; + /** @description Gets or sets a value indicating whether disabled providers should be included. */ + IncludeDisabledProviders?: boolean; + }; + AllThemeMediaResult: { + /** @description Class ThemeMediaResult. */ + ThemeVideosResult?: components["schemas"]["ThemeMediaResult"] | null; + /** @description Class ThemeMediaResult. */ + ThemeSongsResult?: components["schemas"]["ThemeMediaResult"] | null; + /** @description Class ThemeMediaResult. */ + SoundtrackSongsResult?: components["schemas"]["ThemeMediaResult"] | null; + }; + ArtistInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + SongInfos?: components["schemas"]["SongInfo"][]; + }; + ArtistInfoRemoteSearchQuery: { + SearchInfo?: components["schemas"]["ArtistInfo"] | null; + /** Format: uuid */ + ItemId?: string; + /** @description Gets or sets the provider name to search within if set. */ + SearchProviderName?: string | null; + /** @description Gets or sets a value indicating whether disabled providers should be included. */ + IncludeDisabledProviders?: boolean; + }; + /** + * @description An enum representing formats of spatial audio. + * @enum {string} + */ + AudioSpatialFormat: "None" | "DolbyAtmos" | "DTSX"; + /** @description The authenticate user by name request body. */ + AuthenticateUserByName: { + /** @description Gets or sets the username. */ + Username?: string | null; + /** @description Gets or sets the plain text password. */ + Pw?: string | null; + }; + AuthenticationInfo: { + /** + * Format: int64 + * @description Gets or sets the identifier. + */ + Id?: number; + /** @description Gets or sets the access token. */ + AccessToken?: string | null; + /** @description Gets or sets the device identifier. */ + DeviceId?: string | null; + /** @description Gets or sets the name of the application. */ + AppName?: string | null; + /** @description Gets or sets the application version. */ + AppVersion?: string | null; + /** @description Gets or sets the name of the device. */ + DeviceName?: string | null; + /** + * Format: uuid + * @description Gets or sets the user identifier. + */ + UserId?: string; + /** @description Gets or sets a value indicating whether this instance is active. */ + IsActive?: boolean; + /** + * Format: date-time + * @description Gets or sets the date created. + */ + DateCreated?: string; + /** + * Format: date-time + * @description Gets or sets the date revoked. + */ + DateRevoked?: string | null; + /** Format: date-time */ + DateLastActivity?: string; + UserName?: string | null; + }; + /** @description Query result container. */ + AuthenticationInfoQueryResult: { + /** @description Gets or sets the items. */ + Items?: components["schemas"]["AuthenticationInfo"][]; + /** + * Format: int32 + * @description Gets or sets the total number of records available. + */ + TotalRecordCount?: number; + /** + * Format: int32 + * @description Gets or sets the index of the first record in Items. + */ + StartIndex?: number; + }; + /** @description A class representing an authentication result. */ + AuthenticationResult: { + /** @description Class UserDto. */ + User?: components["schemas"]["UserDto"] | null; + /** @description Session info DTO. */ + SessionInfo?: components["schemas"]["SessionInfoDto"] | null; + /** @description Gets or sets the access token. */ + AccessToken?: string | null; + /** @description Gets or sets the server id. */ + ServerId?: string | null; + }; + AuthResponse: { + DeviceID?: string | null; + DeviceName?: string | null; + AppName?: string | null; + AppVersion?: string | null; + Data?: string | null; + }; + /** @description This is strictly used as a data transfer object from the api layer. + * This holds information about a BaseItem in a format that is convenient for the client. */ + BaseItemDto: { + /** @description Gets or sets the name. */ + Name?: string | null; + OriginalTitle?: string | null; + /** @description Gets or sets the server identifier. */ + ServerId?: string | null; + /** + * Format: uuid + * @description Gets or sets the id. + */ + Id?: string; + /** @description Gets or sets the etag. */ + Etag?: string | null; + /** @description Gets or sets the type of the source. */ + SourceType?: string | null; + /** @description Gets or sets the playlist item identifier. */ + PlaylistItemId?: string | null; + /** + * Format: date-time + * @description Gets or sets the date created. + */ + DateCreated?: string | null; + /** Format: date-time */ + DateLastMediaAdded?: string | null; + /** @enum {unknown|null} */ + ExtraType?: "Unknown" | "Clip" | "Trailer" | "BehindTheScenes" | "DeletedScene" | "Interview" | "Scene" | "Sample" | "ThemeSong" | "ThemeVideo" | "Featurette" | "Short" | null; + /** Format: int32 */ + AirsBeforeSeasonNumber?: number | null; + /** Format: int32 */ + AirsAfterSeasonNumber?: number | null; + /** Format: int32 */ + AirsBeforeEpisodeNumber?: number | null; + CanDelete?: boolean | null; + CanDownload?: boolean | null; + HasLyrics?: boolean | null; + HasSubtitles?: boolean | null; + PreferredMetadataLanguage?: string | null; + PreferredMetadataCountryCode?: string | null; + Container?: string | null; + /** @description Gets or sets the name of the sort. */ + SortName?: string | null; + ForcedSortName?: string | null; + /** + * @description Gets or sets the video3 D format. + * @enum {unknown|null} + */ + Video3DFormat?: "HalfSideBySide" | "FullSideBySide" | "FullTopAndBottom" | "HalfTopAndBottom" | "MVC" | null; + /** + * Format: date-time + * @description Gets or sets the premiere date. + */ + PremiereDate?: string | null; + /** @description Gets or sets the external urls. */ + ExternalUrls?: components["schemas"]["ExternalUrl"][] | null; + /** @description Gets or sets the media versions. */ + MediaSources?: components["schemas"]["MediaSourceInfo"][] | null; + /** + * Format: float + * @description Gets or sets the critic rating. + */ + CriticRating?: number | null; + ProductionLocations?: string[] | null; + /** @description Gets or sets the path. */ + Path?: string | null; + EnableMediaSourceDisplay?: boolean | null; + /** @description Gets or sets the official rating. */ + OfficialRating?: string | null; + /** @description Gets or sets the custom rating. */ + CustomRating?: string | null; + /** + * Format: uuid + * @description Gets or sets the channel identifier. + */ + ChannelId?: string | null; + ChannelName?: string | null; + /** @description Gets or sets the overview. */ + Overview?: string | null; + /** @description Gets or sets the taglines. */ + Taglines?: string[] | null; + /** @description Gets or sets the genres. */ + Genres?: string[] | null; + /** + * Format: float + * @description Gets or sets the community rating. + */ + CommunityRating?: number | null; + /** + * Format: int64 + * @description Gets or sets the cumulative run time ticks. + */ + CumulativeRunTimeTicks?: number | null; + /** + * Format: int64 + * @description Gets or sets the run time ticks. + */ + RunTimeTicks?: number | null; + /** + * @description Gets or sets the play access. + * @enum {unknown|null} + */ + PlayAccess?: "Full" | "None" | null; + /** @description Gets or sets the aspect ratio. */ + AspectRatio?: string | null; + /** + * Format: int32 + * @description Gets or sets the production year. + */ + ProductionYear?: number | null; + /** @description Gets or sets a value indicating whether this instance is place holder. */ + IsPlaceHolder?: boolean | null; + /** @description Gets or sets the number. */ + Number?: string | null; + ChannelNumber?: string | null; + /** + * Format: int32 + * @description Gets or sets the index number. + */ + IndexNumber?: number | null; + /** + * Format: int32 + * @description Gets or sets the index number end. + */ + IndexNumberEnd?: number | null; + /** + * Format: int32 + * @description Gets or sets the parent index number. + */ + ParentIndexNumber?: number | null; + /** @description Gets or sets the trailer urls. */ + RemoteTrailers?: components["schemas"]["MediaUrl"][] | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** @description Gets or sets a value indicating whether this instance is HD. */ + IsHD?: boolean | null; + /** @description Gets or sets a value indicating whether this instance is folder. */ + IsFolder?: boolean | null; + /** + * Format: uuid + * @description Gets or sets the parent id. + */ + ParentId?: string | null; + /** + * @description Gets or sets the type. + * @enum {unknown} + */ + Type?: "AggregateFolder" | "Audio" | "AudioBook" | "BasePluginFolder" | "Book" | "BoxSet" | "Channel" | "ChannelFolderItem" | "CollectionFolder" | "Episode" | "Folder" | "Genre" | "ManualPlaylistsFolder" | "Movie" | "LiveTvChannel" | "LiveTvProgram" | "MusicAlbum" | "MusicArtist" | "MusicGenre" | "MusicVideo" | "Person" | "Photo" | "PhotoAlbum" | "Playlist" | "PlaylistsFolder" | "Program" | "Recording" | "Season" | "Series" | "Studio" | "Trailer" | "TvChannel" | "TvProgram" | "UserRootFolder" | "UserView" | "Video" | "Year"; + /** @description Gets or sets the people. */ + People?: components["schemas"]["BaseItemPerson"][] | null; + /** @description Gets or sets the studios. */ + Studios?: components["schemas"]["NameGuidPair"][] | null; + GenreItems?: components["schemas"]["NameGuidPair"][] | null; + /** + * Format: uuid + * @description Gets or sets whether the item has a logo, this will hold the Id of the Parent that has one. + */ + ParentLogoItemId?: string | null; + /** + * Format: uuid + * @description Gets or sets whether the item has any backdrops, this will hold the Id of the Parent that has one. + */ + ParentBackdropItemId?: string | null; + /** @description Gets or sets the parent backdrop image tags. */ + ParentBackdropImageTags?: string[] | null; + /** + * Format: int32 + * @description Gets or sets the local trailer count. + */ + LocalTrailerCount?: number | null; + /** @description Gets or sets the user data for this item based on the user it's being requested for. */ + UserData?: components["schemas"]["UserItemDataDto"] | null; + /** + * Format: int32 + * @description Gets or sets the recursive item count. + */ + RecursiveItemCount?: number | null; + /** + * Format: int32 + * @description Gets or sets the child count. + */ + ChildCount?: number | null; + /** @description Gets or sets the name of the series. */ + SeriesName?: string | null; + /** + * Format: uuid + * @description Gets or sets the series id. + */ + SeriesId?: string | null; + /** + * Format: uuid + * @description Gets or sets the season identifier. + */ + SeasonId?: string | null; + /** + * Format: int32 + * @description Gets or sets the special feature count. + */ + SpecialFeatureCount?: number | null; + /** @description Gets or sets the display preferences id. */ + DisplayPreferencesId?: string | null; + /** @description Gets or sets the status. */ + Status?: string | null; + /** @description Gets or sets the air time. */ + AirTime?: string | null; + /** @description Gets or sets the air days. */ + AirDays?: components["schemas"]["DayOfWeek"][] | null; + /** @description Gets or sets the tags. */ + Tags?: string[] | null; + /** + * Format: double + * @description Gets or sets the primary image aspect ratio, after image enhancements. + */ + PrimaryImageAspectRatio?: number | null; + /** @description Gets or sets the artists. */ + Artists?: string[] | null; + /** @description Gets or sets the artist items. */ + ArtistItems?: components["schemas"]["NameGuidPair"][] | null; + /** @description Gets or sets the album. */ + Album?: string | null; + /** + * @description Gets or sets the type of the collection. + * @enum {unknown|null} + */ + CollectionType?: "unknown" | "movies" | "tvshows" | "music" | "musicvideos" | "trailers" | "homevideos" | "boxsets" | "books" | "photos" | "livetv" | "playlists" | "folders" | null; + /** @description Gets or sets the display order. */ + DisplayOrder?: string | null; + /** + * Format: uuid + * @description Gets or sets the album id. + */ + AlbumId?: string | null; + /** @description Gets or sets the album image tag. */ + AlbumPrimaryImageTag?: string | null; + /** @description Gets or sets the series primary image tag. */ + SeriesPrimaryImageTag?: string | null; + /** @description Gets or sets the album artist. */ + AlbumArtist?: string | null; + /** @description Gets or sets the album artists. */ + AlbumArtists?: components["schemas"]["NameGuidPair"][] | null; + /** @description Gets or sets the name of the season. */ + SeasonName?: string | null; + /** @description Gets or sets the media streams. */ + MediaStreams?: components["schemas"]["MediaStream"][] | null; + /** + * @description Gets or sets the type of the video. + * @enum {unknown|null} + */ + VideoType?: "VideoFile" | "Iso" | "Dvd" | "BluRay" | null; + /** + * Format: int32 + * @description Gets or sets the part count. + */ + PartCount?: number | null; + /** Format: int32 */ + MediaSourceCount?: number | null; + /** @description Gets or sets the image tags. */ + ImageTags?: { + [key: string]: string; + } | null; + /** @description Gets or sets the backdrop image tags. */ + BackdropImageTags?: string[] | null; + /** @description Gets or sets the screenshot image tags. */ + ScreenshotImageTags?: string[] | null; + /** @description Gets or sets the parent logo image tag. */ + ParentLogoImageTag?: string | null; + /** + * Format: uuid + * @description Gets or sets whether the item has fan art, this will hold the Id of the Parent that has one. + */ + ParentArtItemId?: string | null; + /** @description Gets or sets the parent art image tag. */ + ParentArtImageTag?: string | null; + /** @description Gets or sets the series thumb image tag. */ + SeriesThumbImageTag?: string | null; + /** @description Gets or sets the blurhashes for the image tags. + * Maps image type to dictionary mapping image tag to blurhash value. */ + ImageBlurHashes?: { + Primary?: { + [key: string]: string; + }; + Art?: { + [key: string]: string; + }; + Backdrop?: { + [key: string]: string; + }; + Banner?: { + [key: string]: string; + }; + Logo?: { + [key: string]: string; + }; + Thumb?: { + [key: string]: string; + }; + Disc?: { + [key: string]: string; + }; + Box?: { + [key: string]: string; + }; + Screenshot?: { + [key: string]: string; + }; + Menu?: { + [key: string]: string; + }; + Chapter?: { + [key: string]: string; + }; + BoxRear?: { + [key: string]: string; + }; + Profile?: { + [key: string]: string; + }; + } | null; + /** @description Gets or sets the series studio. */ + SeriesStudio?: string | null; + /** + * Format: uuid + * @description Gets or sets the parent thumb item id. + */ + ParentThumbItemId?: string | null; + /** @description Gets or sets the parent thumb image tag. */ + ParentThumbImageTag?: string | null; + /** @description Gets or sets the parent primary image item identifier. */ + ParentPrimaryImageItemId?: string | null; + /** @description Gets or sets the parent primary image tag. */ + ParentPrimaryImageTag?: string | null; + /** @description Gets or sets the chapters. */ + Chapters?: components["schemas"]["ChapterInfo"][] | null; + /** @description Gets or sets the trickplay manifest. */ + Trickplay?: { + [key: string]: { + [key: string]: components["schemas"]["TrickplayInfo"]; + }; + } | null; + /** + * @description Gets or sets the type of the location. + * @enum {unknown|null} + */ + LocationType?: "FileSystem" | "Remote" | "Virtual" | "Offline" | null; + /** + * @description Gets or sets the type of the iso. + * @enum {unknown|null} + */ + IsoType?: "Dvd" | "BluRay" | null; + /** + * @description Gets or sets the type of the media. + * @enum {unknown} + */ + MediaType?: "Unknown" | "Video" | "Audio" | "Photo" | "Book"; + /** + * Format: date-time + * @description Gets or sets the end date. + */ + EndDate?: string | null; + /** @description Gets or sets the locked fields. */ + LockedFields?: components["schemas"]["MetadataField"][] | null; + /** + * Format: int32 + * @description Gets or sets the trailer count. + */ + TrailerCount?: number | null; + /** + * Format: int32 + * @description Gets or sets the movie count. + */ + MovieCount?: number | null; + /** + * Format: int32 + * @description Gets or sets the series count. + */ + SeriesCount?: number | null; + /** Format: int32 */ + ProgramCount?: number | null; + /** + * Format: int32 + * @description Gets or sets the episode count. + */ + EpisodeCount?: number | null; + /** + * Format: int32 + * @description Gets or sets the song count. + */ + SongCount?: number | null; + /** + * Format: int32 + * @description Gets or sets the album count. + */ + AlbumCount?: number | null; + /** Format: int32 */ + ArtistCount?: number | null; + /** + * Format: int32 + * @description Gets or sets the music video count. + */ + MusicVideoCount?: number | null; + /** @description Gets or sets a value indicating whether [enable internet providers]. */ + LockData?: boolean | null; + /** Format: int32 */ + Width?: number | null; + /** Format: int32 */ + Height?: number | null; + CameraMake?: string | null; + CameraModel?: string | null; + Software?: string | null; + /** Format: double */ + ExposureTime?: number | null; + /** Format: double */ + FocalLength?: number | null; + /** @enum {unknown|null} */ + ImageOrientation?: "TopLeft" | "TopRight" | "BottomRight" | "BottomLeft" | "LeftTop" | "RightTop" | "RightBottom" | "LeftBottom" | null; + /** Format: double */ + Aperture?: number | null; + /** Format: double */ + ShutterSpeed?: number | null; + /** Format: double */ + Latitude?: number | null; + /** Format: double */ + Longitude?: number | null; + /** Format: double */ + Altitude?: number | null; + /** Format: int32 */ + IsoSpeedRating?: number | null; + /** @description Gets or sets the series timer identifier. */ + SeriesTimerId?: string | null; + /** @description Gets or sets the program identifier. */ + ProgramId?: string | null; + /** @description Gets or sets the channel primary image tag. */ + ChannelPrimaryImageTag?: string | null; + /** + * Format: date-time + * @description Gets or sets the start date of the recording, in UTC. + */ + StartDate?: string | null; + /** + * Format: double + * @description Gets or sets the completion percentage. + */ + CompletionPercentage?: number | null; + /** @description Gets or sets a value indicating whether this instance is repeat. */ + IsRepeat?: boolean | null; + /** @description Gets or sets the episode title. */ + EpisodeTitle?: string | null; + /** + * @description Gets or sets the type of the channel. + * @enum {unknown|null} + */ + ChannelType?: "TV" | "Radio" | null; + /** + * @description Gets or sets the audio. + * @enum {unknown|null} + */ + Audio?: "Mono" | "Stereo" | "Dolby" | "DolbyDigital" | "Thx" | "Atmos" | null; + /** @description Gets or sets a value indicating whether this instance is movie. */ + IsMovie?: boolean | null; + /** @description Gets or sets a value indicating whether this instance is sports. */ + IsSports?: boolean | null; + /** @description Gets or sets a value indicating whether this instance is series. */ + IsSeries?: boolean | null; + /** @description Gets or sets a value indicating whether this instance is live. */ + IsLive?: boolean | null; + /** @description Gets or sets a value indicating whether this instance is news. */ + IsNews?: boolean | null; + /** @description Gets or sets a value indicating whether this instance is kids. */ + IsKids?: boolean | null; + /** @description Gets or sets a value indicating whether this instance is premiere. */ + IsPremiere?: boolean | null; + /** @description Gets or sets the timer identifier. */ + TimerId?: string | null; + /** + * Format: float + * @description Gets or sets the gain required for audio normalization. + */ + NormalizationGain?: number | null; + /** @description Gets or sets the current program. */ + CurrentProgram?: components["schemas"]["BaseItemDto"] | null; + }; + /** @description Query result container. */ + BaseItemDtoQueryResult: { + /** @description Gets or sets the items. */ + Items?: components["schemas"]["BaseItemDto"][]; + /** + * Format: int32 + * @description Gets or sets the total number of records available. + */ + TotalRecordCount?: number; + /** + * Format: int32 + * @description Gets or sets the index of the first record in Items. + */ + StartIndex?: number; + }; + /** + * @description The base item kind. + * @enum {string} + */ + BaseItemKind: "AggregateFolder" | "Audio" | "AudioBook" | "BasePluginFolder" | "Book" | "BoxSet" | "Channel" | "ChannelFolderItem" | "CollectionFolder" | "Episode" | "Folder" | "Genre" | "ManualPlaylistsFolder" | "Movie" | "LiveTvChannel" | "LiveTvProgram" | "MusicAlbum" | "MusicArtist" | "MusicGenre" | "MusicVideo" | "Person" | "Photo" | "PhotoAlbum" | "Playlist" | "PlaylistsFolder" | "Program" | "Recording" | "Season" | "Series" | "Studio" | "Trailer" | "TvChannel" | "TvProgram" | "UserRootFolder" | "UserView" | "Video" | "Year"; + /** @description This is used by the api to get information about a Person within a BaseItem. */ + BaseItemPerson: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** + * Format: uuid + * @description Gets or sets the identifier. + */ + Id?: string; + /** @description Gets or sets the role. */ + Role?: string | null; + /** + * @description Gets or sets the type. + * @enum {unknown} + */ + Type?: "Unknown" | "Actor" | "Director" | "Composer" | "Writer" | "GuestStar" | "Producer" | "Conductor" | "Lyricist" | "Arranger" | "Engineer" | "Mixer" | "Remixer" | "Creator" | "Artist" | "AlbumArtist" | "Author" | "Illustrator" | "Penciller" | "Inker" | "Colorist" | "Letterer" | "CoverArtist" | "Editor" | "Translator"; + /** @description Gets or sets the primary image tag. */ + PrimaryImageTag?: string | null; + /** @description Gets or sets the primary image blurhash. */ + ImageBlurHashes?: { + Primary?: { + [key: string]: string; + }; + Art?: { + [key: string]: string; + }; + Backdrop?: { + [key: string]: string; + }; + Banner?: { + [key: string]: string; + }; + Logo?: { + [key: string]: string; + }; + Thumb?: { + [key: string]: string; + }; + Disc?: { + [key: string]: string; + }; + Box?: { + [key: string]: string; + }; + Screenshot?: { + [key: string]: string; + }; + Menu?: { + [key: string]: string; + }; + Chapter?: { + [key: string]: string; + }; + BoxRear?: { + [key: string]: string; + }; + Profile?: { + [key: string]: string; + }; + } | null; + }; + /** @description Class BasePluginConfiguration. */ + BasePluginConfiguration: Record; + BookInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + SeriesName?: string | null; + }; + BookInfoRemoteSearchQuery: { + SearchInfo?: components["schemas"]["BookInfo"] | null; + /** Format: uuid */ + ItemId?: string; + /** @description Gets or sets the provider name to search within if set. */ + SearchProviderName?: string | null; + /** @description Gets or sets a value indicating whether disabled providers should be included. */ + IncludeDisabledProviders?: boolean; + }; + BoxSetInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + }; + BoxSetInfoRemoteSearchQuery: { + SearchInfo?: components["schemas"]["BoxSetInfo"] | null; + /** Format: uuid */ + ItemId?: string; + /** @description Gets or sets the provider name to search within if set. */ + SearchProviderName?: string | null; + /** @description Gets or sets a value indicating whether disabled providers should be included. */ + IncludeDisabledProviders?: boolean; + }; + /** @description The branding options. */ + BrandingOptions: { + /** @description Gets or sets the login disclaimer. */ + LoginDisclaimer?: string | null; + /** @description Gets or sets the custom CSS. */ + CustomCss?: string | null; + /** @description Gets or sets a value indicating whether to enable the splashscreen. */ + SplashscreenEnabled?: boolean; + }; + /** @description Class BufferRequestDto. */ + BufferRequestDto: { + /** + * Format: date-time + * @description Gets or sets when the request has been made by the client. + */ + When?: string; + /** + * Format: int64 + * @description Gets or sets the position ticks. + */ + PositionTicks?: number; + /** @description Gets or sets a value indicating whether the client playback is unpaused. */ + IsPlaying?: boolean; + /** + * Format: uuid + * @description Gets or sets the playlist item identifier of the playing item. + */ + PlaylistItemId?: string; + }; + /** @description The cast receiver application model. */ + CastReceiverApplication: { + /** @description Gets or sets the cast receiver application id. */ + Id?: string; + /** @description Gets or sets the cast receiver application name. */ + Name?: string; + }; + ChannelFeatures: { + /** @description Gets or sets the name. */ + Name?: string; + /** + * Format: uuid + * @description Gets or sets the identifier. + */ + Id?: string; + /** @description Gets or sets a value indicating whether this instance can search. */ + CanSearch?: boolean; + /** @description Gets or sets the media types. */ + MediaTypes?: components["schemas"]["ChannelMediaType"][]; + /** @description Gets or sets the content types. */ + ContentTypes?: components["schemas"]["ChannelMediaContentType"][]; + /** + * Format: int32 + * @description Gets or sets the maximum number of records the channel allows retrieving at a time. + */ + MaxPageSize?: number | null; + /** + * Format: int32 + * @description Gets or sets the automatic refresh levels. + */ + AutoRefreshLevels?: number | null; + /** @description Gets or sets the default sort orders. */ + DefaultSortFields?: components["schemas"]["ChannelItemSortField"][]; + /** @description Gets or sets a value indicating whether a sort ascending/descending toggle is supported. */ + SupportsSortOrderToggle?: boolean; + /** @description Gets or sets a value indicating whether [supports latest media]. */ + SupportsLatestMedia?: boolean; + /** @description Gets or sets a value indicating whether this instance can filter. */ + CanFilter?: boolean; + /** @description Gets or sets a value indicating whether [supports content downloading]. */ + SupportsContentDownloading?: boolean; + }; + /** @enum {string} */ + ChannelItemSortField: "Name" | "CommunityRating" | "PremiereDate" | "DateCreated" | "Runtime" | "PlayCount" | "CommunityPlayCount"; + /** @description Channel mapping options dto. */ + ChannelMappingOptionsDto: { + /** @description Gets or sets list of tuner channels. */ + TunerChannels?: components["schemas"]["TunerChannelMapping"][]; + /** @description Gets or sets list of provider channels. */ + ProviderChannels?: components["schemas"]["NameIdPair"][]; + /** @description Gets or sets list of mappings. */ + Mappings?: components["schemas"]["NameValuePair"][]; + /** @description Gets or sets provider name. */ + ProviderName?: string | null; + }; + /** @enum {string} */ + ChannelMediaContentType: "Clip" | "Podcast" | "Trailer" | "Movie" | "Episode" | "Song" | "MovieExtra" | "TvExtra"; + /** @enum {string} */ + ChannelMediaType: "Audio" | "Video" | "Photo"; + /** + * @description Enum ChannelType. + * @enum {string} + */ + ChannelType: "TV" | "Radio"; + /** @description Class ChapterInfo. */ + ChapterInfo: { + /** + * Format: int64 + * @description Gets or sets the start position ticks. + */ + StartPositionTicks?: number; + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the image path. */ + ImagePath?: string | null; + /** Format: date-time */ + ImageDateModified?: string; + ImageTag?: string | null; + }; + /** @description Client capabilities dto. */ + ClientCapabilitiesDto: { + /** @description Gets or sets the list of playable media types. */ + PlayableMediaTypes?: components["schemas"]["MediaType"][]; + /** @description Gets or sets the list of supported commands. */ + SupportedCommands?: components["schemas"]["GeneralCommandType"][]; + /** @description Gets or sets a value indicating whether session supports media control. */ + SupportsMediaControl?: boolean; + /** @description Gets or sets a value indicating whether session supports a persistent identifier. */ + SupportsPersistentIdentifier?: boolean; + /** @description Gets or sets the device profile. */ + DeviceProfile?: components["schemas"]["DeviceProfile"] | null; + /** @description Gets or sets the app store url. */ + AppStoreUrl?: string | null; + /** @description Gets or sets the icon url. */ + IconUrl?: string | null; + }; + /** @description Client log document response dto. */ + ClientLogDocumentResponseDto: { + /** @description Gets the resulting filename. */ + FileName?: string; + }; + /** @description Defines the MediaBrowser.Model.Dlna.CodecProfile. */ + CodecProfile: { + /** + * @description Gets or sets the MediaBrowser.Model.Dlna.CodecType which this container must meet. + * @enum {unknown} + */ + Type?: "Video" | "VideoAudio" | "Audio"; + /** @description Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this profile must meet. */ + Conditions?: components["schemas"]["ProfileCondition"][]; + /** @description Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition to apply if this profile is met. */ + ApplyConditions?: components["schemas"]["ProfileCondition"][]; + /** @description Gets or sets the codec(s) that this profile applies to. */ + Codec?: string | null; + /** @description Gets or sets the container(s) which this profile will be applied to. */ + Container?: string | null; + /** @description Gets or sets the sub-container(s) which this profile will be applied to. */ + SubContainer?: string | null; + }; + /** @enum {string} */ + CodecType: "Video" | "VideoAudio" | "Audio"; + CollectionCreationResult: { + /** Format: uuid */ + Id?: string; + }; + /** + * @description Collection type. + * @enum {string} + */ + CollectionType: "unknown" | "movies" | "tvshows" | "music" | "musicvideos" | "trailers" | "homevideos" | "boxsets" | "books" | "photos" | "livetv" | "playlists" | "folders"; + /** + * @description The collection type options. + * @enum {string} + */ + CollectionTypeOptions: "movies" | "tvshows" | "music" | "musicvideos" | "homevideos" | "boxsets" | "books" | "mixed"; + ConfigImageTypes: { + BackdropSizes?: string[] | null; + BaseUrl?: string | null; + LogoSizes?: string[] | null; + PosterSizes?: string[] | null; + ProfileSizes?: string[] | null; + SecureBaseUrl?: string | null; + StillSizes?: string[] | null; + }; + /** @description The configuration page info. */ + ConfigurationPageInfo: { + /** @description Gets or sets the name. */ + Name?: string; + /** @description Gets or sets a value indicating whether the configurations page is enabled in the main menu. */ + EnableInMainMenu?: boolean; + /** @description Gets or sets the menu section. */ + MenuSection?: string | null; + /** @description Gets or sets the menu icon. */ + MenuIcon?: string | null; + /** @description Gets or sets the display name. */ + DisplayName?: string | null; + /** + * Format: uuid + * @description Gets or sets the plugin id. + */ + PluginId?: string | null; + }; + /** @description Defines the MediaBrowser.Model.Dlna.ContainerProfile. */ + ContainerProfile: { + /** + * @description Gets or sets the MediaBrowser.Model.Dlna.DlnaProfileType which this container must meet. + * @enum {unknown} + */ + Type?: "Audio" | "Video" | "Photo" | "Subtitle" | "Lyric"; + /** @description Gets or sets the list of MediaBrowser.Model.Dlna.ProfileCondition which this container will be applied to. */ + Conditions?: components["schemas"]["ProfileCondition"][]; + /** @description Gets or sets the container(s) which this container must meet. */ + Container?: string | null; + /** @description Gets or sets the sub container(s) which this container must meet. */ + SubContainer?: string | null; + }; + /** @description Class CountryInfo. */ + CountryInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the display name. */ + DisplayName?: string | null; + /** @description Gets or sets the name of the two letter ISO region. */ + TwoLetterISORegionName?: string | null; + /** @description Gets or sets the name of the three letter ISO region. */ + ThreeLetterISORegionName?: string | null; + }; + /** @description Create new playlist dto. */ + CreatePlaylistDto: { + /** @description Gets or sets the name of the new playlist. */ + Name?: string; + /** @description Gets or sets item ids to add to the playlist. */ + Ids?: string[]; + /** + * Format: uuid + * @description Gets or sets the user id. + */ + UserId?: string | null; + /** + * @description Gets or sets the media type. + * @enum {unknown|null} + */ + MediaType?: "Unknown" | "Video" | "Audio" | "Photo" | "Book" | null; + /** @description Gets or sets the playlist users. */ + Users?: components["schemas"]["PlaylistUserPermissions"][]; + /** @description Gets or sets a value indicating whether the playlist is public. */ + IsPublic?: boolean; + }; + /** @description The create user by name request body. */ + CreateUserByName: { + /** @description Gets or sets the username. */ + Name: string; + /** @description Gets or sets the password. */ + Password?: string | null; + }; + /** @description Class CultureDto. */ + CultureDto: { + /** @description Gets the name. */ + Name?: string; + /** @description Gets the display name. */ + DisplayName?: string; + /** @description Gets the name of the two letter ISO language. */ + TwoLetterISOLanguageName?: string; + /** @description Gets the name of the three letter ISO language. */ + readonly ThreeLetterISOLanguageName?: string | null; + ThreeLetterISOLanguageNames?: string[]; + }; + /** @enum {string} */ + DayOfWeek: "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday"; + /** @enum {string} */ + DayPattern: "Daily" | "Weekdays" | "Weekends"; + /** @description Default directory browser info. */ + DefaultDirectoryBrowserInfoDto: { + /** @description Gets or sets the path. */ + Path?: string | null; + }; + /** + * @description Enum containing deinterlace methods. + * @enum {string} + */ + DeinterlaceMethod: "yadif" | "bwdif"; + /** @description A DTO representing device information. */ + DeviceInfoDto: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the custom name. */ + CustomName?: string | null; + /** @description Gets or sets the access token. */ + AccessToken?: string | null; + /** @description Gets or sets the identifier. */ + Id?: string | null; + /** @description Gets or sets the last name of the user. */ + LastUserName?: string | null; + /** @description Gets or sets the name of the application. */ + AppName?: string | null; + /** @description Gets or sets the application version. */ + AppVersion?: string | null; + /** + * Format: uuid + * @description Gets or sets the last user identifier. + */ + LastUserId?: string | null; + /** + * Format: date-time + * @description Gets or sets the date last modified. + */ + DateLastActivity?: string | null; + /** @description Gets or sets the capabilities. */ + Capabilities?: components["schemas"]["ClientCapabilitiesDto"]; + /** @description Gets or sets the icon URL. */ + IconUrl?: string | null; + }; + /** @description Query result container. */ + DeviceInfoDtoQueryResult: { + /** @description Gets or sets the items. */ + Items?: components["schemas"]["DeviceInfoDto"][]; + /** + * Format: int32 + * @description Gets or sets the total number of records available. + */ + TotalRecordCount?: number; + /** + * Format: int32 + * @description Gets or sets the index of the first record in Items. + */ + StartIndex?: number; + }; + /** @description A dto representing custom options for a device. */ + DeviceOptionsDto: { + /** + * Format: int32 + * @description Gets or sets the id. + */ + Id?: number; + /** @description Gets or sets the device id. */ + DeviceId?: string | null; + /** @description Gets or sets the custom name. */ + CustomName?: string | null; + }; + /** @description A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play. + *
+ * Specifically, it defines the supported containers and + * codecs (video and/or audio, including codec profiles and levels) + * the device is able to direct play (without transcoding or remuxing), + * as well as which containers/codecs to transcode to in case it isn't. */ + DeviceProfile: { + /** @description Gets or sets the name of this device profile. User profiles must have a unique name. */ + Name?: string | null; + /** + * Format: uuid + * @description Gets or sets the unique internal identifier. + */ + Id?: string | null; + /** + * Format: int32 + * @description Gets or sets the maximum allowed bitrate for all streamed content. + */ + MaxStreamingBitrate?: number | null; + /** + * Format: int32 + * @description Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). + */ + MaxStaticBitrate?: number | null; + /** + * Format: int32 + * @description Gets or sets the maximum allowed bitrate for transcoded music streams. + */ + MusicStreamingTranscodingBitrate?: number | null; + /** + * Format: int32 + * @description Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. + */ + MaxStaticMusicBitrate?: number | null; + /** @description Gets or sets the direct play profiles. */ + DirectPlayProfiles?: components["schemas"]["DirectPlayProfile"][]; + /** @description Gets or sets the transcoding profiles. */ + TranscodingProfiles?: components["schemas"]["TranscodingProfile"][]; + /** @description Gets or sets the container profiles. Failing to meet these optional conditions causes transcoding to occur. */ + ContainerProfiles?: components["schemas"]["ContainerProfile"][]; + /** @description Gets or sets the codec profiles. */ + CodecProfiles?: components["schemas"]["CodecProfile"][]; + /** @description Gets or sets the subtitle profiles. */ + SubtitleProfiles?: components["schemas"]["SubtitleProfile"][]; + }; + /** @description Defines the MediaBrowser.Model.Dlna.DirectPlayProfile. */ + DirectPlayProfile: { + /** @description Gets or sets the container. */ + Container?: string; + /** @description Gets or sets the audio codec. */ + AudioCodec?: string | null; + /** @description Gets or sets the video codec. */ + VideoCodec?: string | null; + /** + * @description Gets or sets the Dlna profile type. + * @enum {unknown} + */ + Type?: "Audio" | "Video" | "Photo" | "Subtitle" | "Lyric"; + }; + /** @description Defines the display preferences for any item that supports them (usually Folders). */ + DisplayPreferencesDto: { + /** @description Gets or sets the user id. */ + Id?: string | null; + /** @description Gets or sets the type of the view. */ + ViewType?: string | null; + /** @description Gets or sets the sort by. */ + SortBy?: string | null; + /** @description Gets or sets the index by. */ + IndexBy?: string | null; + /** @description Gets or sets a value indicating whether [remember indexing]. */ + RememberIndexing?: boolean; + /** + * Format: int32 + * @description Gets or sets the height of the primary image. + */ + PrimaryImageHeight?: number; + /** + * Format: int32 + * @description Gets or sets the width of the primary image. + */ + PrimaryImageWidth?: number; + /** @description Gets or sets the custom prefs. */ + CustomPrefs?: { + [key: string]: string | null; + }; + /** + * @description Gets or sets the scroll direction. + * @enum {unknown} + */ + ScrollDirection?: "Horizontal" | "Vertical"; + /** @description Gets or sets a value indicating whether to show backdrops on this item. */ + ShowBackdrop?: boolean; + /** @description Gets or sets a value indicating whether [remember sorting]. */ + RememberSorting?: boolean; + /** + * @description Gets or sets the sort order. + * @enum {unknown} + */ + SortOrder?: "Ascending" | "Descending"; + /** @description Gets or sets a value indicating whether [show sidebar]. */ + ShowSidebar?: boolean; + /** @description Gets or sets the client. */ + Client?: string | null; + }; + /** @enum {string} */ + DlnaProfileType: "Audio" | "Video" | "Photo" | "Subtitle" | "Lyric"; + /** + * @description An enum representing an algorithm to downmix surround sound to stereo. + * @enum {string} + */ + DownMixStereoAlgorithms: "None" | "Dave750" | "NightmodeDialogue" | "Rfc7845" | "Ac4"; + /** + * @description An enum that represents a day of the week, weekdays, weekends, or all days. + * @enum {string} + */ + DynamicDayOfWeek: "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Everyday" | "Weekday" | "Weekend"; + /** + * @description An enum representing the options to disable embedded subs. + * @enum {string} + */ + EmbeddedSubtitleOptions: "AllowAll" | "AllowText" | "AllowImage" | "AllowNone"; + /** + * @description Enum containing encoder presets. + * @enum {string} + */ + EncoderPreset: "auto" | "placebo" | "veryslow" | "slower" | "slow" | "medium" | "fast" | "faster" | "veryfast" | "superfast" | "ultrafast"; + /** @enum {string} */ + EncodingContext: "Streaming" | "Static"; + /** @description Class EncodingOptions. */ + EncodingOptions: { + /** + * Format: int32 + * @description Gets or sets the thread count used for encoding. + */ + EncodingThreadCount?: number; + /** @description Gets or sets the temporary transcoding path. */ + TranscodingTempPath?: string | null; + /** @description Gets or sets the path to the fallback font. */ + FallbackFontPath?: string | null; + /** @description Gets or sets a value indicating whether to use the fallback font. */ + EnableFallbackFont?: boolean; + /** @description Gets or sets a value indicating whether audio VBR is enabled. */ + EnableAudioVbr?: boolean; + /** + * Format: double + * @description Gets or sets the audio boost applied when downmixing audio. + */ + DownMixAudioBoost?: number; + /** + * @description Gets or sets the algorithm used for downmixing audio to stereo. + * @enum {unknown} + */ + DownMixStereoAlgorithm?: "None" | "Dave750" | "NightmodeDialogue" | "Rfc7845" | "Ac4"; + /** + * Format: int32 + * @description Gets or sets the maximum size of the muxing queue. + */ + MaxMuxingQueueSize?: number; + /** @description Gets or sets a value indicating whether throttling is enabled. */ + EnableThrottling?: boolean; + /** + * Format: int32 + * @description Gets or sets the delay after which throttling happens. + */ + ThrottleDelaySeconds?: number; + /** @description Gets or sets a value indicating whether segment deletion is enabled. */ + EnableSegmentDeletion?: boolean; + /** + * Format: int32 + * @description Gets or sets seconds for which segments should be kept before being deleted. + */ + SegmentKeepSeconds?: number; + /** + * @description Gets or sets the hardware acceleration type. + * @enum {unknown} + */ + HardwareAccelerationType?: "none" | "amf" | "qsv" | "nvenc" | "v4l2m2m" | "vaapi" | "videotoolbox" | "rkmpp"; + /** @description Gets or sets the FFmpeg path as set by the user via the UI. */ + EncoderAppPath?: string | null; + /** @description Gets or sets the current FFmpeg path being used by the system and displayed on the transcode page. */ + EncoderAppPathDisplay?: string | null; + /** @description Gets or sets the VA-API device. */ + VaapiDevice?: string | null; + /** @description Gets or sets the QSV device. */ + QsvDevice?: string | null; + /** @description Gets or sets a value indicating whether tonemapping is enabled. */ + EnableTonemapping?: boolean; + /** @description Gets or sets a value indicating whether VPP tonemapping is enabled. */ + EnableVppTonemapping?: boolean; + /** @description Gets or sets a value indicating whether videotoolbox tonemapping is enabled. */ + EnableVideoToolboxTonemapping?: boolean; + /** + * @description Gets or sets the tone-mapping algorithm. + * @enum {unknown} + */ + TonemappingAlgorithm?: "none" | "clip" | "linear" | "gamma" | "reinhard" | "hable" | "mobius" | "bt2390"; + /** + * @description Gets or sets the tone-mapping mode. + * @enum {unknown} + */ + TonemappingMode?: "auto" | "max" | "rgb" | "lum" | "itp"; + /** + * @description Gets or sets the tone-mapping range. + * @enum {unknown} + */ + TonemappingRange?: "auto" | "tv" | "pc"; + /** + * Format: double + * @description Gets or sets the tone-mapping desaturation. + */ + TonemappingDesat?: number; + /** + * Format: double + * @description Gets or sets the tone-mapping peak. + */ + TonemappingPeak?: number; + /** + * Format: double + * @description Gets or sets the tone-mapping parameters. + */ + TonemappingParam?: number; + /** + * Format: double + * @description Gets or sets the VPP tone-mapping brightness. + */ + VppTonemappingBrightness?: number; + /** + * Format: double + * @description Gets or sets the VPP tone-mapping contrast. + */ + VppTonemappingContrast?: number; + /** + * Format: int32 + * @description Gets or sets the H264 CRF. + */ + H264Crf?: number; + /** + * Format: int32 + * @description Gets or sets the H265 CRF. + */ + H265Crf?: number; + /** + * @description Gets or sets the encoder preset. + * @enum {unknown|null} + */ + EncoderPreset?: "auto" | "placebo" | "veryslow" | "slower" | "slow" | "medium" | "fast" | "faster" | "veryfast" | "superfast" | "ultrafast" | null; + /** @description Gets or sets a value indicating whether the framerate is doubled when deinterlacing. */ + DeinterlaceDoubleRate?: boolean; + /** + * @description Gets or sets the deinterlace method. + * @enum {unknown} + */ + DeinterlaceMethod?: "yadif" | "bwdif"; + /** @description Gets or sets a value indicating whether 10bit HEVC decoding is enabled. */ + EnableDecodingColorDepth10Hevc?: boolean; + /** @description Gets or sets a value indicating whether 10bit VP9 decoding is enabled. */ + EnableDecodingColorDepth10Vp9?: boolean; + /** @description Gets or sets a value indicating whether 8/10bit HEVC RExt decoding is enabled. */ + EnableDecodingColorDepth10HevcRext?: boolean; + /** @description Gets or sets a value indicating whether 12bit HEVC RExt decoding is enabled. */ + EnableDecodingColorDepth12HevcRext?: boolean; + /** @description Gets or sets a value indicating whether the enhanced NVDEC is enabled. */ + EnableEnhancedNvdecDecoder?: boolean; + /** @description Gets or sets a value indicating whether the system native hardware decoder should be used. */ + PreferSystemNativeHwDecoder?: boolean; + /** @description Gets or sets a value indicating whether the Intel H264 low-power hardware encoder should be used. */ + EnableIntelLowPowerH264HwEncoder?: boolean; + /** @description Gets or sets a value indicating whether the Intel HEVC low-power hardware encoder should be used. */ + EnableIntelLowPowerHevcHwEncoder?: boolean; + /** @description Gets or sets a value indicating whether hardware encoding is enabled. */ + EnableHardwareEncoding?: boolean; + /** @description Gets or sets a value indicating whether HEVC encoding is enabled. */ + AllowHevcEncoding?: boolean; + /** @description Gets or sets a value indicating whether AV1 encoding is enabled. */ + AllowAv1Encoding?: boolean; + /** @description Gets or sets a value indicating whether subtitle extraction is enabled. */ + EnableSubtitleExtraction?: boolean; + /** @description Gets or sets the codecs hardware encoding is used for. */ + HardwareDecodingCodecs?: string[] | null; + /** @description Gets or sets the file extensions on-demand metadata based keyframe extraction is enabled for. */ + AllowOnDemandMetadataBasedKeyframeExtractionForExtensions?: string[] | null; + }; + EndPointInfo: { + IsLocal?: boolean; + IsInNetwork?: boolean; + }; + /** @description Represents the external id information for serialization to the client. */ + ExternalIdInfo: { + /** @description Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc). */ + Name?: string; + /** @description Gets or sets the unique key for this id. This key should be unique across all providers. */ + Key?: string; + /** + * @description Gets or sets the specific media type for this id. This is used to distinguish between the different + * external id types for providers with multiple ids. + * A null value indicates there is no specific media type associated with the external id, or this is the + * default id for the external provider so there is no need to specify a type. + * @enum {unknown|null} + */ + Type?: "Album" | "AlbumArtist" | "Artist" | "BoxSet" | "Episode" | "Movie" | "OtherArtist" | "Person" | "ReleaseGroup" | "Season" | "Series" | "Track" | "Book" | null; + /** + * @deprecated + * @description Gets or sets the URL format string. + */ + UrlFormatString?: string | null; + }; + /** + * @description The specific media type of an MediaBrowser.Model.Providers.ExternalIdInfo. + * @enum {string} + */ + ExternalIdMediaType: "Album" | "AlbumArtist" | "Artist" | "BoxSet" | "Episode" | "Movie" | "OtherArtist" | "Person" | "ReleaseGroup" | "Season" | "Series" | "Track" | "Book"; + ExternalUrl: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the type of the item. */ + Url?: string | null; + }; + /** @enum {string} */ + ExtraType: "Unknown" | "Clip" | "Trailer" | "BehindTheScenes" | "DeletedScene" | "Interview" | "Scene" | "Sample" | "ThemeSong" | "ThemeVideo" | "Featurette" | "Short"; + /** @description Class FileSystemEntryInfo. */ + FileSystemEntryInfo: { + /** @description Gets the name. */ + Name?: string; + /** @description Gets the path. */ + Path?: string; + /** + * @description Gets the type. + * @enum {unknown} + */ + Type?: "File" | "Directory" | "NetworkComputer" | "NetworkShare"; + }; + /** + * @description Enum FileSystemEntryType. + * @enum {string} + */ + FileSystemEntryType: "File" | "Directory" | "NetworkComputer" | "NetworkShare"; + FolderRoleMap: { + Role?: string | null; + Folders?: string[] | null; + }; + /** @description Class FontFile. */ + FontFile: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** + * Format: int64 + * @description Gets or sets the size. + */ + Size?: number; + /** + * Format: date-time + * @description Gets or sets the date created. + */ + DateCreated?: string; + /** + * Format: date-time + * @description Gets or sets the date modified. + */ + DateModified?: string; + }; + /** @description Force keep alive websocket messages. */ + ForceKeepAliveMessage: { + /** + * Format: int32 + * @description Gets or sets the data. + */ + Data?: number; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ForceKeepAlive"; + }; + /** @enum {string} */ + ForgotPasswordAction: "ContactAdmin" | "PinCode" | "InNetworkRequired"; + /** @description Forgot Password request body DTO. */ + ForgotPasswordDto: { + /** @description Gets or sets the entered username to have its password reset. */ + EnteredUsername: string; + }; + /** @description Forgot Password Pin enter request body DTO. */ + ForgotPasswordPinDto: { + /** @description Gets or sets the entered pin to have the password reset. */ + Pin: string; + }; + ForgotPasswordResult: { + /** + * @description Gets or sets the action. + * @enum {unknown} + */ + Action?: "ContactAdmin" | "PinCode" | "InNetworkRequired"; + /** @description Gets or sets the pin file. */ + PinFile?: string | null; + /** + * Format: date-time + * @description Gets or sets the pin expiration date. + */ + PinExpirationDate?: string | null; + }; + GeneralCommand: { + /** + * @description This exists simply to identify a set of known commands. + * @enum {unknown} + */ + Name?: "MoveUp" | "MoveDown" | "MoveLeft" | "MoveRight" | "PageUp" | "PageDown" | "PreviousLetter" | "NextLetter" | "ToggleOsd" | "ToggleContextMenu" | "Select" | "Back" | "TakeScreenshot" | "SendKey" | "SendString" | "GoHome" | "GoToSettings" | "VolumeUp" | "VolumeDown" | "Mute" | "Unmute" | "ToggleMute" | "SetVolume" | "SetAudioStreamIndex" | "SetSubtitleStreamIndex" | "ToggleFullscreen" | "DisplayContent" | "GoToSearch" | "DisplayMessage" | "SetRepeatMode" | "ChannelUp" | "ChannelDown" | "Guide" | "ToggleStats" | "PlayMediaSource" | "PlayTrailers" | "SetShuffleQueue" | "PlayState" | "PlayNext" | "ToggleOsdMenu" | "Play" | "SetMaxStreamingBitrate" | "SetPlaybackOrder"; + /** Format: uuid */ + ControllingUserId?: string; + Arguments?: { + [key: string]: string | null; + }; + }; + /** @description General command websocket message. */ + GeneralCommandMessage: { + /** @description Gets or sets the data. */ + Data?: components["schemas"]["GeneralCommand"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "GeneralCommand"; + }; + /** + * @description This exists simply to identify a set of known commands. + * @enum {string} + */ + GeneralCommandType: "MoveUp" | "MoveDown" | "MoveLeft" | "MoveRight" | "PageUp" | "PageDown" | "PreviousLetter" | "NextLetter" | "ToggleOsd" | "ToggleContextMenu" | "Select" | "Back" | "TakeScreenshot" | "SendKey" | "SendString" | "GoHome" | "GoToSettings" | "VolumeUp" | "VolumeDown" | "Mute" | "Unmute" | "ToggleMute" | "SetVolume" | "SetAudioStreamIndex" | "SetSubtitleStreamIndex" | "ToggleFullscreen" | "DisplayContent" | "GoToSearch" | "DisplayMessage" | "SetRepeatMode" | "ChannelUp" | "ChannelDown" | "Guide" | "ToggleStats" | "PlayMediaSource" | "PlayTrailers" | "SetShuffleQueue" | "PlayState" | "PlayNext" | "ToggleOsdMenu" | "Play" | "SetMaxStreamingBitrate" | "SetPlaybackOrder"; + /** @description Get programs dto. */ + GetProgramsDto: { + /** @description Gets or sets the channels to return guide information for. */ + ChannelIds?: string[] | null; + /** + * Format: uuid + * @description Gets or sets optional. Filter by user id. + */ + UserId?: string | null; + /** + * Format: date-time + * @description Gets or sets the minimum premiere start date. + */ + MinStartDate?: string | null; + /** @description Gets or sets filter by programs that have completed airing, or not. */ + HasAired?: boolean | null; + /** @description Gets or sets filter by programs that are currently airing, or not. */ + IsAiring?: boolean | null; + /** + * Format: date-time + * @description Gets or sets the maximum premiere start date. + */ + MaxStartDate?: string | null; + /** + * Format: date-time + * @description Gets or sets the minimum premiere end date. + */ + MinEndDate?: string | null; + /** + * Format: date-time + * @description Gets or sets the maximum premiere end date. + */ + MaxEndDate?: string | null; + /** @description Gets or sets filter for movies. */ + IsMovie?: boolean | null; + /** @description Gets or sets filter for series. */ + IsSeries?: boolean | null; + /** @description Gets or sets filter for news. */ + IsNews?: boolean | null; + /** @description Gets or sets filter for kids. */ + IsKids?: boolean | null; + /** @description Gets or sets filter for sports. */ + IsSports?: boolean | null; + /** + * Format: int32 + * @description Gets or sets the record index to start at. All items with a lower index will be dropped from the results. + */ + StartIndex?: number | null; + /** + * Format: int32 + * @description Gets or sets the maximum number of records to return. + */ + Limit?: number | null; + /** @description Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate. */ + SortBy?: components["schemas"]["ItemSortBy"][] | null; + /** @description Gets or sets sort order. */ + SortOrder?: components["schemas"]["SortOrder"][] | null; + /** @description Gets or sets the genres to return guide information for. */ + Genres?: string[] | null; + /** @description Gets or sets the genre ids to return guide information for. */ + GenreIds?: string[] | null; + /** @description Gets or sets include image information in output. */ + EnableImages?: boolean | null; + /** + * @description Gets or sets a value indicating whether retrieve total record count. + * @default true + */ + EnableTotalRecordCount: boolean; + /** + * Format: int32 + * @description Gets or sets the max number of images to return, per image type. + */ + ImageTypeLimit?: number | null; + /** @description Gets or sets the image types to include in the output. */ + EnableImageTypes?: components["schemas"]["ImageType"][] | null; + /** @description Gets or sets include user data. */ + EnableUserData?: boolean | null; + /** @description Gets or sets filter by series timer id. */ + SeriesTimerId?: string | null; + /** + * Format: uuid + * @description Gets or sets filter by library series id. + */ + LibrarySeriesId?: string | null; + /** @description Gets or sets specify additional fields of information to return in the output. */ + Fields?: components["schemas"]["ItemFields"][] | null; + }; + /** @description Class GroupInfoDto. */ + GroupInfoDto: { + /** + * Format: uuid + * @description Gets the group identifier. + */ + GroupId?: string; + /** @description Gets the group name. */ + GroupName?: string; + /** + * @description Gets the group state. + * @enum {unknown} + */ + State?: "Idle" | "Waiting" | "Paused" | "Playing"; + /** @description Gets the participants. */ + Participants?: string[]; + /** + * Format: date-time + * @description Gets the date when this DTO has been created. + */ + LastUpdatedAt?: string; + }; + /** @description Class GroupUpdate. */ + GroupInfoDtoGroupUpdate: { + /** + * Format: uuid + * @description Gets the group identifier. + */ + readonly GroupId?: string; + /** + * @description Gets the update type. (enum property replaced by openapi-typescript) + * @enum {string} + */ + Type: "GroupJoined"; + /** @description Gets the update data. */ + Data?: components["schemas"]["GroupInfoDto"]; + }; + /** + * @description Enum GroupQueueMode. + * @enum {string} + */ + GroupQueueMode: "Queue" | "QueueNext"; + /** + * @description Enum GroupRepeatMode. + * @enum {string} + */ + GroupRepeatMode: "RepeatOne" | "RepeatAll" | "RepeatNone"; + /** + * @description Enum GroupShuffleMode. + * @enum {string} + */ + GroupShuffleMode: "Sorted" | "Shuffle"; + /** + * @description Enum GroupState. + * @enum {string} + */ + GroupStateType: "Idle" | "Waiting" | "Paused" | "Playing"; + /** @description Class GroupStateUpdate. */ + GroupStateUpdate: { + /** + * @description Gets the state of the group. + * @enum {unknown} + */ + State?: "Idle" | "Waiting" | "Paused" | "Playing"; + /** + * @description Gets the reason of the state change. + * @enum {unknown} + */ + Reason?: "Play" | "SetPlaylistItem" | "RemoveFromPlaylist" | "MovePlaylistItem" | "Queue" | "Unpause" | "Pause" | "Stop" | "Seek" | "Buffer" | "Ready" | "NextItem" | "PreviousItem" | "SetRepeatMode" | "SetShuffleMode" | "Ping" | "IgnoreWait"; + }; + /** @description Class GroupUpdate. */ + GroupStateUpdateGroupUpdate: { + /** + * Format: uuid + * @description Gets the group identifier. + */ + readonly GroupId?: string; + /** + * @description Gets the update type. (enum property replaced by openapi-typescript) + * @enum {string} + */ + Type: "StateUpdate"; + /** @description Gets the update data. */ + Data?: components["schemas"]["GroupStateUpdate"]; + }; + /** @description Group update without data. */ + GroupUpdate: { + /** + * Format: uuid + * @description Gets the group identifier. + */ + readonly GroupId?: string; + /** + * @description Gets the update type. + * @enum {unknown} + */ + Type?: "UserJoined" | "UserLeft" | "GroupJoined" | "GroupLeft" | "StateUpdate" | "PlayQueue" | "NotInGroup" | "GroupDoesNotExist" | "CreateGroupDenied" | "JoinGroupDenied" | "LibraryAccessDenied"; + } & (components["schemas"]["GroupInfoDtoGroupUpdate"] | components["schemas"]["GroupStateUpdateGroupUpdate"] | components["schemas"]["StringGroupUpdate"] | components["schemas"]["PlayQueueUpdateGroupUpdate"]); + /** + * @description Enum GroupUpdateType. + * @enum {string} + */ + GroupUpdateType: "UserJoined" | "UserLeft" | "GroupJoined" | "GroupLeft" | "StateUpdate" | "PlayQueue" | "NotInGroup" | "GroupDoesNotExist" | "CreateGroupDenied" | "JoinGroupDenied" | "LibraryAccessDenied"; + GuideInfo: { + /** + * Format: date-time + * @description Gets or sets the start date. + */ + StartDate?: string; + /** + * Format: date-time + * @description Gets or sets the end date. + */ + EndDate?: string; + }; + /** + * @description Enum containing hardware acceleration types. + * @enum {string} + */ + HardwareAccelerationType: "none" | "amf" | "qsv" | "nvenc" | "v4l2m2m" | "vaapi" | "videotoolbox" | "rkmpp"; + /** @description Class IgnoreWaitRequestDto. */ + IgnoreWaitRequestDto: { + /** @description Gets or sets a value indicating whether the client should be ignored. */ + IgnoreWait?: boolean; + }; + /** + * @description Enum ImageOutputFormat. + * @enum {string} + */ + ImageFormat: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description Class ImageInfo. */ + ImageInfo: { + /** + * @description Gets or sets the type of the image. + * @enum {unknown} + */ + ImageType?: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** + * Format: int32 + * @description Gets or sets the index of the image. + */ + ImageIndex?: number | null; + /** @description Gets or sets the image tag. */ + ImageTag?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the blurhash. */ + BlurHash?: string | null; + /** + * Format: int32 + * @description Gets or sets the height. + */ + Height?: number | null; + /** + * Format: int32 + * @description Gets or sets the width. + */ + Width?: number | null; + /** + * Format: int64 + * @description Gets or sets the size. + */ + Size?: number; + }; + ImageOption: { + /** + * @description Gets or sets the type. + * @enum {unknown} + */ + Type?: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** + * Format: int32 + * @description Gets or sets the limit. + */ + Limit?: number; + /** + * Format: int32 + * @description Gets or sets the minimum width. + */ + MinWidth?: number; + }; + /** @enum {string} */ + ImageOrientation: "TopLeft" | "TopRight" | "BottomRight" | "BottomLeft" | "LeftTop" | "RightTop" | "RightBottom" | "LeftBottom"; + /** @description Class ImageProviderInfo. */ + ImageProviderInfo: { + /** @description Gets the name. */ + Name?: string; + /** @description Gets the supported image types. */ + SupportedImages?: components["schemas"]["ImageType"][]; + }; + /** + * @description Enum ImageResolution. + * @enum {string} + */ + ImageResolution: "MatchSource" | "P144" | "P240" | "P360" | "P480" | "P720" | "P1080" | "P1440" | "P2160"; + /** @enum {string} */ + ImageSavingConvention: "Legacy" | "Compatible"; + /** + * @description Enum ImageType. + * @enum {string} + */ + ImageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Keep alive websocket messages. */ + InboundKeepAliveMessage: { + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "KeepAlive"; + }; + /** @description Represents the list of possible inbound websocket types */ + InboundWebSocketMessage: components["schemas"]["ActivityLogEntryStartMessage"] | components["schemas"]["ActivityLogEntryStopMessage"] | components["schemas"]["InboundKeepAliveMessage"] | components["schemas"]["ScheduledTasksInfoStartMessage"] | components["schemas"]["ScheduledTasksInfoStopMessage"] | components["schemas"]["SessionsStartMessage"] | components["schemas"]["SessionsStopMessage"]; + /** @description Class InstallationInfo. */ + InstallationInfo: { + /** + * Format: uuid + * @description Gets or sets the Id. + */ + Guid?: string; + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the version. */ + Version?: string | null; + /** @description Gets or sets the changelog for this version. */ + Changelog?: string | null; + /** @description Gets or sets the source URL. */ + SourceUrl?: string | null; + /** @description Gets or sets a checksum for the binary. */ + Checksum?: string | null; + /** @description Gets or sets package information for the installation. */ + PackageInfo?: components["schemas"]["PackageInfo"] | null; + }; + /** @description Defines the MediaBrowser.Common.Plugins.IPlugin. */ + IPlugin: { + /** @description Gets the name of the plugin. */ + readonly Name?: string | null; + /** @description Gets the Description. */ + readonly Description?: string | null; + /** + * Format: uuid + * @description Gets the unique id. + */ + readonly Id?: string; + /** @description Gets the plugin version. */ + readonly Version?: string | null; + /** @description Gets the path to the assembly file. */ + readonly AssemblyFilePath?: string | null; + /** @description Gets a value indicating whether the plugin can be uninstalled. */ + readonly CanUninstall?: boolean; + /** @description Gets the full path to the data folder, where the plugin can store any miscellaneous files needed. */ + readonly DataFolderPath?: string | null; + }; + /** + * @description Enum IsoType. + * @enum {string} + */ + IsoType: "Dvd" | "BluRay"; + /** @description Class LibrarySummary. */ + ItemCounts: { + /** + * Format: int32 + * @description Gets or sets the movie count. + */ + MovieCount?: number; + /** + * Format: int32 + * @description Gets or sets the series count. + */ + SeriesCount?: number; + /** + * Format: int32 + * @description Gets or sets the episode count. + */ + EpisodeCount?: number; + /** + * Format: int32 + * @description Gets or sets the artist count. + */ + ArtistCount?: number; + /** + * Format: int32 + * @description Gets or sets the program count. + */ + ProgramCount?: number; + /** + * Format: int32 + * @description Gets or sets the trailer count. + */ + TrailerCount?: number; + /** + * Format: int32 + * @description Gets or sets the song count. + */ + SongCount?: number; + /** + * Format: int32 + * @description Gets or sets the album count. + */ + AlbumCount?: number; + /** + * Format: int32 + * @description Gets or sets the music video count. + */ + MusicVideoCount?: number; + /** + * Format: int32 + * @description Gets or sets the box set count. + */ + BoxSetCount?: number; + /** + * Format: int32 + * @description Gets or sets the book count. + */ + BookCount?: number; + /** + * Format: int32 + * @description Gets or sets the item count. + */ + ItemCount?: number; + }; + /** + * @description Used to control the data that gets attached to DtoBaseItems. + * @enum {string} + */ + ItemFields: "AirTime" | "CanDelete" | "CanDownload" | "ChannelInfo" | "Chapters" | "Trickplay" | "ChildCount" | "CumulativeRunTimeTicks" | "CustomRating" | "DateCreated" | "DateLastMediaAdded" | "DisplayPreferencesId" | "Etag" | "ExternalUrls" | "Genres" | "HomePageUrl" | "ItemCounts" | "MediaSourceCount" | "MediaSources" | "OriginalTitle" | "Overview" | "ParentId" | "Path" | "People" | "PlayAccess" | "ProductionLocations" | "ProviderIds" | "PrimaryImageAspectRatio" | "RecursiveItemCount" | "Settings" | "ScreenshotImageTags" | "SeriesPrimaryImage" | "SeriesStudio" | "SortName" | "SpecialEpisodeNumbers" | "Studios" | "Taglines" | "Tags" | "RemoteTrailers" | "MediaStreams" | "SeasonUserData" | "ServiceName" | "ThemeSongIds" | "ThemeVideoIds" | "ExternalEtag" | "PresentationUniqueKey" | "InheritedParentalRatingValue" | "ExternalSeriesId" | "SeriesPresentationUniqueKey" | "DateLastRefreshed" | "DateLastSaved" | "RefreshState" | "ChannelImage" | "EnableMediaSourceDisplay" | "Width" | "Height" | "ExtraIds" | "LocalTrailerCount" | "IsHD" | "SpecialFeatureCount"; + /** + * @description Enum ItemFilter. + * @enum {string} + */ + ItemFilter: "IsFolder" | "IsNotFolder" | "IsUnplayed" | "IsPlayed" | "IsFavorite" | "IsResumable" | "Likes" | "Dislikes" | "IsFavoriteOrLikes"; + /** + * @description These represent sort orders. + * @enum {string} + */ + ItemSortBy: "Default" | "AiredEpisodeOrder" | "Album" | "AlbumArtist" | "Artist" | "DateCreated" | "OfficialRating" | "DatePlayed" | "PremiereDate" | "StartDate" | "SortName" | "Name" | "Random" | "Runtime" | "CommunityRating" | "ProductionYear" | "PlayCount" | "CriticRating" | "IsFolder" | "IsUnplayed" | "IsPlayed" | "SeriesSortName" | "VideoBitRate" | "AirTime" | "Studio" | "IsFavoriteOrLiked" | "DateLastContentAdded" | "SeriesDatePlayed" | "ParentIndexNumber" | "IndexNumber" | "SimilarityScore" | "SearchScore"; + /** @description Class JoinGroupRequestDto. */ + JoinGroupRequestDto: { + /** + * Format: uuid + * @description Gets or sets the group identifier. + */ + GroupId?: string; + }; + /** @enum {string} */ + KeepUntil: "UntilDeleted" | "UntilSpaceNeeded" | "UntilWatched" | "UntilDate"; + /** @description Library changed message. */ + LibraryChangedMessage: { + /** @description Class LibraryUpdateInfo. */ + Data?: components["schemas"]["LibraryUpdateInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "LibraryChanged"; + }; + /** @description Library option info dto. */ + LibraryOptionInfoDto: { + /** @description Gets or sets name. */ + Name?: string | null; + /** @description Gets or sets a value indicating whether default enabled. */ + DefaultEnabled?: boolean; + }; + LibraryOptions: { + Enabled?: boolean; + EnablePhotos?: boolean; + EnableRealtimeMonitor?: boolean; + EnableLUFSScan?: boolean; + EnableChapterImageExtraction?: boolean; + ExtractChapterImagesDuringLibraryScan?: boolean; + EnableTrickplayImageExtraction?: boolean; + ExtractTrickplayImagesDuringLibraryScan?: boolean; + PathInfos?: components["schemas"]["MediaPathInfo"][]; + SaveLocalMetadata?: boolean; + /** @deprecated */ + EnableInternetProviders?: boolean; + EnableAutomaticSeriesGrouping?: boolean; + EnableEmbeddedTitles?: boolean; + EnableEmbeddedExtrasTitles?: boolean; + EnableEmbeddedEpisodeInfos?: boolean; + /** Format: int32 */ + AutomaticRefreshIntervalDays?: number; + /** @description Gets or sets the preferred metadata language. */ + PreferredMetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + SeasonZeroDisplayName?: string; + MetadataSavers?: string[] | null; + DisabledLocalMetadataReaders?: string[]; + LocalMetadataReaderOrder?: string[] | null; + DisabledSubtitleFetchers?: string[]; + SubtitleFetcherOrder?: string[]; + DisabledMediaSegmentProviders?: string[]; + MediaSegmentProvideOrder?: string[]; + SkipSubtitlesIfEmbeddedSubtitlesPresent?: boolean; + SkipSubtitlesIfAudioTrackMatches?: boolean; + SubtitleDownloadLanguages?: string[] | null; + RequirePerfectSubtitleMatch?: boolean; + SaveSubtitlesWithMedia?: boolean; + /** @default false */ + SaveLyricsWithMedia: boolean; + /** @default false */ + SaveTrickplayWithMedia: boolean; + DisabledLyricFetchers?: string[]; + LyricFetcherOrder?: string[]; + /** @default false */ + PreferNonstandardArtistsTag: boolean; + /** @default false */ + UseCustomTagDelimiters: boolean; + CustomTagDelimiters?: string[]; + DelimiterWhitelist?: string[]; + AutomaticallyAddToCollection?: boolean; + /** + * @description An enum representing the options to disable embedded subs. + * @enum {unknown} + */ + AllowEmbeddedSubtitles?: "AllowAll" | "AllowText" | "AllowImage" | "AllowNone"; + TypeOptions?: components["schemas"]["TypeOptions"][]; + }; + /** @description Library options result dto. */ + LibraryOptionsResultDto: { + /** @description Gets or sets the metadata savers. */ + MetadataSavers?: components["schemas"]["LibraryOptionInfoDto"][]; + /** @description Gets or sets the metadata readers. */ + MetadataReaders?: components["schemas"]["LibraryOptionInfoDto"][]; + /** @description Gets or sets the subtitle fetchers. */ + SubtitleFetchers?: components["schemas"]["LibraryOptionInfoDto"][]; + /** @description Gets or sets the list of lyric fetchers. */ + LyricFetchers?: components["schemas"]["LibraryOptionInfoDto"][]; + /** @description Gets or sets the type options. */ + TypeOptions?: components["schemas"]["LibraryTypeOptionsDto"][]; + }; + /** @description Library type options dto. */ + LibraryTypeOptionsDto: { + /** @description Gets or sets the type. */ + Type?: string | null; + /** @description Gets or sets the metadata fetchers. */ + MetadataFetchers?: components["schemas"]["LibraryOptionInfoDto"][]; + /** @description Gets or sets the image fetchers. */ + ImageFetchers?: components["schemas"]["LibraryOptionInfoDto"][]; + /** @description Gets or sets the supported image types. */ + SupportedImageTypes?: components["schemas"]["ImageType"][]; + /** @description Gets or sets the default image options. */ + DefaultImageOptions?: components["schemas"]["ImageOption"][]; + }; + /** @description Class LibraryUpdateInfo. */ + LibraryUpdateInfo: { + /** @description Gets or sets the folders added to. */ + FoldersAddedTo?: string[]; + /** @description Gets or sets the folders removed from. */ + FoldersRemovedFrom?: string[]; + /** @description Gets or sets the items added. */ + ItemsAdded?: string[]; + /** @description Gets or sets the items removed. */ + ItemsRemoved?: string[]; + /** @description Gets or sets the items updated. */ + ItemsUpdated?: string[]; + CollectionFolders?: string[]; + readonly IsEmpty?: boolean; + }; + ListingsProviderInfo: { + Id?: string | null; + Type?: string | null; + Username?: string | null; + Password?: string | null; + ListingsId?: string | null; + ZipCode?: string | null; + Country?: string | null; + Path?: string | null; + EnabledTuners?: string[] | null; + EnableAllTuners?: boolean; + NewsCategories?: string[] | null; + SportsCategories?: string[] | null; + KidsCategories?: string[] | null; + MovieCategories?: string[] | null; + ChannelMappings?: components["schemas"]["NameValuePair"][] | null; + MoviePrefix?: string | null; + PreferredLanguage?: string | null; + UserAgent?: string | null; + }; + LiveStreamResponse: { + MediaSource?: components["schemas"]["MediaSourceInfo"]; + }; + LiveTvInfo: { + /** @description Gets or sets the services. */ + Services?: components["schemas"]["LiveTvServiceInfo"][]; + /** @description Gets or sets a value indicating whether this instance is enabled. */ + IsEnabled?: boolean; + /** @description Gets or sets the enabled users. */ + EnabledUsers?: string[]; + }; + LiveTvOptions: { + /** Format: int32 */ + GuideDays?: number | null; + RecordingPath?: string | null; + MovieRecordingPath?: string | null; + SeriesRecordingPath?: string | null; + EnableRecordingSubfolders?: boolean; + EnableOriginalAudioWithEncodedRecordings?: boolean; + TunerHosts?: components["schemas"]["TunerHostInfo"][] | null; + ListingProviders?: components["schemas"]["ListingsProviderInfo"][] | null; + /** Format: int32 */ + PrePaddingSeconds?: number; + /** Format: int32 */ + PostPaddingSeconds?: number; + MediaLocationsCreated?: string[] | null; + RecordingPostProcessor?: string | null; + RecordingPostProcessorArguments?: string | null; + SaveRecordingNFO?: boolean; + SaveRecordingImages?: boolean; + }; + /** @description Class ServiceInfo. */ + LiveTvServiceInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the home page URL. */ + HomePageUrl?: string | null; + /** + * @description Gets or sets the status. + * @enum {unknown} + */ + Status?: "Ok" | "Unavailable"; + /** @description Gets or sets the status message. */ + StatusMessage?: string | null; + /** @description Gets or sets the version. */ + Version?: string | null; + /** @description Gets or sets a value indicating whether this instance has update available. */ + HasUpdateAvailable?: boolean; + /** @description Gets or sets a value indicating whether this instance is visible. */ + IsVisible?: boolean; + Tuners?: string[] | null; + }; + /** @enum {string} */ + LiveTvServiceStatus: "Ok" | "Unavailable"; + LocalizationOption: { + Name?: string | null; + Value?: string | null; + }; + /** + * @description Enum LocationType. + * @enum {string} + */ + LocationType: "FileSystem" | "Remote" | "Virtual" | "Offline"; + LogFile: { + /** + * Format: date-time + * @description Gets or sets the date created. + */ + DateCreated?: string; + /** + * Format: date-time + * @description Gets or sets the date modified. + */ + DateModified?: string; + /** + * Format: int64 + * @description Gets or sets the size. + */ + Size?: number; + /** @description Gets or sets the name. */ + Name?: string; + }; + /** @enum {string} */ + LogLevel: "Trace" | "Debug" | "Information" | "Warning" | "Error" | "Critical" | "None"; + /** @description LyricResponse model. */ + LyricDto: { + /** @description Gets or sets Metadata for the lyrics. */ + Metadata?: components["schemas"]["LyricMetadata"]; + /** @description Gets or sets a collection of individual lyric lines. */ + Lyrics?: components["schemas"]["LyricLine"][]; + }; + /** @description Lyric model. */ + LyricLine: { + /** @description Gets the text of this lyric line. */ + Text?: string; + /** + * Format: int64 + * @description Gets the start time in ticks. + */ + Start?: number | null; + }; + /** @description LyricMetadata model. */ + LyricMetadata: { + /** @description Gets or sets the song artist. */ + Artist?: string | null; + /** @description Gets or sets the album this song is on. */ + Album?: string | null; + /** @description Gets or sets the title of the song. */ + Title?: string | null; + /** @description Gets or sets the author of the lyric data. */ + Author?: string | null; + /** + * Format: int64 + * @description Gets or sets the length of the song in ticks. + */ + Length?: number | null; + /** @description Gets or sets who the LRC file was created by. */ + By?: string | null; + /** + * Format: int64 + * @description Gets or sets the lyric offset compared to audio in ticks. + */ + Offset?: number | null; + /** @description Gets or sets the software used to create the LRC file. */ + Creator?: string | null; + /** @description Gets or sets the version of the creator used. */ + Version?: string | null; + /** @description Gets or sets a value indicating whether this lyric is synced. */ + IsSynced?: boolean | null; + }; + /** @description Class MediaAttachment. */ + MediaAttachment: { + /** @description Gets or sets the codec. */ + Codec?: string | null; + /** @description Gets or sets the codec tag. */ + CodecTag?: string | null; + /** @description Gets or sets the comment. */ + Comment?: string | null; + /** + * Format: int32 + * @description Gets or sets the index. + */ + Index?: number; + /** @description Gets or sets the filename. */ + FileName?: string | null; + /** @description Gets or sets the MIME type. */ + MimeType?: string | null; + /** @description Gets or sets the delivery URL. */ + DeliveryUrl?: string | null; + }; + /** @description Media Path dto. */ + MediaPathDto: { + /** @description Gets or sets the name of the library. */ + Name: string; + /** @description Gets or sets the path to add. */ + Path?: string | null; + /** @description Gets or sets the path info. */ + PathInfo?: components["schemas"]["MediaPathInfo"] | null; + }; + MediaPathInfo: { + Path?: string; + }; + /** @enum {string} */ + MediaProtocol: "File" | "Http" | "Rtmp" | "Rtsp" | "Udp" | "Rtp" | "Ftp"; + /** @description Api model for MediaSegment's. */ + MediaSegmentDto: { + /** + * Format: uuid + * @description Gets or sets the id of the media segment. + */ + Id?: string; + /** + * Format: uuid + * @description Gets or sets the id of the associated item. + */ + ItemId?: string; + /** + * @description Gets or sets the type of content this segment defines. + * @enum {unknown} + */ + Type?: "Unknown" | "Commercial" | "Preview" | "Recap" | "Outro" | "Intro"; + /** + * Format: int64 + * @description Gets or sets the start of the segment. + */ + StartTicks?: number; + /** + * Format: int64 + * @description Gets or sets the end of the segment. + */ + EndTicks?: number; + }; + /** @description Query result container. */ + MediaSegmentDtoQueryResult: { + /** @description Gets or sets the items. */ + Items?: components["schemas"]["MediaSegmentDto"][]; + /** + * Format: int32 + * @description Gets or sets the total number of records available. + */ + TotalRecordCount?: number; + /** + * Format: int32 + * @description Gets or sets the index of the first record in Items. + */ + StartIndex?: number; + }; + /** + * @description Defines the types of content an individual Jellyfin.Data.Entities.MediaSegment represents. + * @enum {string} + */ + MediaSegmentType: "Unknown" | "Commercial" | "Preview" | "Recap" | "Outro" | "Intro"; + MediaSourceInfo: { + /** @enum {unknown} */ + Protocol?: "File" | "Http" | "Rtmp" | "Rtsp" | "Udp" | "Rtp" | "Ftp"; + Id?: string | null; + Path?: string | null; + EncoderPath?: string | null; + /** @enum {unknown|null} */ + EncoderProtocol?: "File" | "Http" | "Rtmp" | "Rtsp" | "Udp" | "Rtp" | "Ftp" | null; + /** @enum {unknown} */ + Type?: "Default" | "Grouping" | "Placeholder"; + Container?: string | null; + /** Format: int64 */ + Size?: number | null; + Name?: string | null; + /** @description Gets or sets a value indicating whether the media is remote. + * Differentiate internet url vs local network. */ + IsRemote?: boolean; + ETag?: string | null; + /** Format: int64 */ + RunTimeTicks?: number | null; + ReadAtNativeFramerate?: boolean; + IgnoreDts?: boolean; + IgnoreIndex?: boolean; + GenPtsInput?: boolean; + SupportsTranscoding?: boolean; + SupportsDirectStream?: boolean; + SupportsDirectPlay?: boolean; + IsInfiniteStream?: boolean; + /** @default false */ + UseMostCompatibleTranscodingProfile: boolean; + RequiresOpening?: boolean; + OpenToken?: string | null; + RequiresClosing?: boolean; + LiveStreamId?: string | null; + /** Format: int32 */ + BufferMs?: number | null; + RequiresLooping?: boolean; + SupportsProbing?: boolean; + /** @enum {unknown|null} */ + VideoType?: "VideoFile" | "Iso" | "Dvd" | "BluRay" | null; + /** @enum {unknown|null} */ + IsoType?: "Dvd" | "BluRay" | null; + /** @enum {unknown|null} */ + Video3DFormat?: "HalfSideBySide" | "FullSideBySide" | "FullTopAndBottom" | "HalfTopAndBottom" | "MVC" | null; + MediaStreams?: components["schemas"]["MediaStream"][] | null; + MediaAttachments?: components["schemas"]["MediaAttachment"][] | null; + Formats?: string[] | null; + /** Format: int32 */ + Bitrate?: number | null; + /** Format: int32 */ + FallbackMaxStreamingBitrate?: number | null; + /** @enum {unknown|null} */ + Timestamp?: "None" | "Zero" | "Valid" | null; + RequiredHttpHeaders?: { + [key: string]: string | null; + } | null; + TranscodingUrl?: string | null; + /** + * @description Media streaming protocol. + * Lowercase for backwards compatibility. + * @enum {unknown} + */ + TranscodingSubProtocol?: "http" | "hls"; + TranscodingContainer?: string | null; + /** Format: int32 */ + AnalyzeDurationMs?: number | null; + /** Format: int32 */ + DefaultAudioStreamIndex?: number | null; + /** Format: int32 */ + DefaultSubtitleStreamIndex?: number | null; + HasSegments?: boolean; + }; + /** @enum {string} */ + MediaSourceType: "Default" | "Grouping" | "Placeholder"; + /** @description Class MediaStream. */ + MediaStream: { + /** @description Gets or sets the codec. */ + Codec?: string | null; + /** @description Gets or sets the codec tag. */ + CodecTag?: string | null; + /** @description Gets or sets the language. */ + Language?: string | null; + /** @description Gets or sets the color range. */ + ColorRange?: string | null; + /** @description Gets or sets the color space. */ + ColorSpace?: string | null; + /** @description Gets or sets the color transfer. */ + ColorTransfer?: string | null; + /** @description Gets or sets the color primaries. */ + ColorPrimaries?: string | null; + /** + * Format: int32 + * @description Gets or sets the Dolby Vision version major. + */ + DvVersionMajor?: number | null; + /** + * Format: int32 + * @description Gets or sets the Dolby Vision version minor. + */ + DvVersionMinor?: number | null; + /** + * Format: int32 + * @description Gets or sets the Dolby Vision profile. + */ + DvProfile?: number | null; + /** + * Format: int32 + * @description Gets or sets the Dolby Vision level. + */ + DvLevel?: number | null; + /** + * Format: int32 + * @description Gets or sets the Dolby Vision rpu present flag. + */ + RpuPresentFlag?: number | null; + /** + * Format: int32 + * @description Gets or sets the Dolby Vision el present flag. + */ + ElPresentFlag?: number | null; + /** + * Format: int32 + * @description Gets or sets the Dolby Vision bl present flag. + */ + BlPresentFlag?: number | null; + /** + * Format: int32 + * @description Gets or sets the Dolby Vision bl signal compatibility id. + */ + DvBlSignalCompatibilityId?: number | null; + /** + * Format: int32 + * @description Gets or sets the Rotation in degrees. + */ + Rotation?: number | null; + /** @description Gets or sets the comment. */ + Comment?: string | null; + /** @description Gets or sets the time base. */ + TimeBase?: string | null; + /** @description Gets or sets the codec time base. */ + CodecTimeBase?: string | null; + /** @description Gets or sets the title. */ + Title?: string | null; + /** + * @description Gets the video range. + * @enum {unknown} + */ + readonly VideoRange?: "Unknown" | "SDR" | "HDR"; + /** + * @description Gets the video range type. + * @enum {unknown} + */ + readonly VideoRangeType?: "Unknown" | "SDR" | "HDR10" | "HLG" | "DOVI" | "DOVIWithHDR10" | "DOVIWithHLG" | "DOVIWithSDR" | "HDR10Plus"; + /** @description Gets the video dovi title. */ + readonly VideoDoViTitle?: string | null; + /** + * @description Gets the audio spatial format. + * @default None + * @enum {unknown} + */ + readonly AudioSpatialFormat: "None" | "DolbyAtmos" | "DTSX"; + LocalizedUndefined?: string | null; + LocalizedDefault?: string | null; + LocalizedForced?: string | null; + LocalizedExternal?: string | null; + LocalizedHearingImpaired?: string | null; + readonly DisplayTitle?: string | null; + NalLengthSize?: string | null; + /** @description Gets or sets a value indicating whether this instance is interlaced. */ + IsInterlaced?: boolean; + IsAVC?: boolean | null; + /** @description Gets or sets the channel layout. */ + ChannelLayout?: string | null; + /** + * Format: int32 + * @description Gets or sets the bit rate. + */ + BitRate?: number | null; + /** + * Format: int32 + * @description Gets or sets the bit depth. + */ + BitDepth?: number | null; + /** + * Format: int32 + * @description Gets or sets the reference frames. + */ + RefFrames?: number | null; + /** + * Format: int32 + * @description Gets or sets the length of the packet. + */ + PacketLength?: number | null; + /** + * Format: int32 + * @description Gets or sets the channels. + */ + Channels?: number | null; + /** + * Format: int32 + * @description Gets or sets the sample rate. + */ + SampleRate?: number | null; + /** @description Gets or sets a value indicating whether this instance is default. */ + IsDefault?: boolean; + /** @description Gets or sets a value indicating whether this instance is forced. */ + IsForced?: boolean; + /** @description Gets or sets a value indicating whether this instance is for the hearing impaired. */ + IsHearingImpaired?: boolean; + /** + * Format: int32 + * @description Gets or sets the height. + */ + Height?: number | null; + /** + * Format: int32 + * @description Gets or sets the width. + */ + Width?: number | null; + /** + * Format: float + * @description Gets or sets the average frame rate. + */ + AverageFrameRate?: number | null; + /** + * Format: float + * @description Gets or sets the real frame rate. + */ + RealFrameRate?: number | null; + /** + * Format: float + * @description Gets the framerate used as reference. + * Prefer AverageFrameRate, if that is null or an unrealistic value + * then fallback to RealFrameRate. + */ + readonly ReferenceFrameRate?: number | null; + /** @description Gets or sets the profile. */ + Profile?: string | null; + /** + * @description Gets or sets the type. + * @enum {unknown} + */ + Type?: "Audio" | "Video" | "Subtitle" | "EmbeddedImage" | "Data" | "Lyric"; + /** @description Gets or sets the aspect ratio. */ + AspectRatio?: string | null; + /** + * Format: int32 + * @description Gets or sets the index. + */ + Index?: number; + /** + * Format: int32 + * @description Gets or sets the score. + */ + Score?: number | null; + /** @description Gets or sets a value indicating whether this instance is external. */ + IsExternal?: boolean; + /** + * @description Gets or sets the method. + * @enum {unknown|null} + */ + DeliveryMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop" | null; + /** @description Gets or sets the delivery URL. */ + DeliveryUrl?: string | null; + /** @description Gets or sets a value indicating whether this instance is external URL. */ + IsExternalUrl?: boolean | null; + readonly IsTextSubtitleStream?: boolean; + /** @description Gets or sets a value indicating whether [supports external stream]. */ + SupportsExternalStream?: boolean; + /** @description Gets or sets the filename. */ + Path?: string | null; + /** @description Gets or sets the pixel format. */ + PixelFormat?: string | null; + /** + * Format: double + * @description Gets or sets the level. + */ + Level?: number | null; + /** @description Gets or sets whether this instance is anamorphic. */ + IsAnamorphic?: boolean | null; + }; + /** + * @description Media streaming protocol. + * Lowercase for backwards compatibility. + * @enum {string} + */ + MediaStreamProtocol: "http" | "hls"; + /** + * @description Enum MediaStreamType. + * @enum {string} + */ + MediaStreamType: "Audio" | "Video" | "Subtitle" | "EmbeddedImage" | "Data" | "Lyric"; + /** + * @description Media types. + * @enum {string} + */ + MediaType: "Unknown" | "Video" | "Audio" | "Photo" | "Book"; + /** @description Media Update Info Dto. */ + MediaUpdateInfoDto: { + /** @description Gets or sets the list of updates. */ + Updates?: components["schemas"]["MediaUpdateInfoPathDto"][]; + }; + /** @description The media update info path. */ + MediaUpdateInfoPathDto: { + /** @description Gets or sets media path. */ + Path?: string | null; + /** @description Gets or sets media update type. + * Created, Modified, Deleted. */ + UpdateType?: string | null; + }; + MediaUrl: { + Url?: string | null; + Name?: string | null; + }; + MessageCommand: { + Header?: string | null; + Text: string; + /** Format: int64 */ + TimeoutMs?: number | null; + }; + MetadataConfiguration: { + UseFileCreationTimeForDateAdded?: boolean; + }; + MetadataEditorInfo: { + ParentalRatingOptions?: components["schemas"]["ParentalRating"][]; + Countries?: components["schemas"]["CountryInfo"][]; + Cultures?: components["schemas"]["CultureDto"][]; + ExternalIdInfos?: components["schemas"]["ExternalIdInfo"][]; + /** @enum {unknown|null} */ + ContentType?: "unknown" | "movies" | "tvshows" | "music" | "musicvideos" | "trailers" | "homevideos" | "boxsets" | "books" | "photos" | "livetv" | "playlists" | "folders" | null; + ContentTypeOptions?: components["schemas"]["NameValuePair"][]; + }; + /** + * @description Enum MetadataFields. + * @enum {string} + */ + MetadataField: "Cast" | "Genres" | "ProductionLocations" | "Studios" | "Tags" | "Name" | "Overview" | "Runtime" | "OfficialRating"; + /** @description Class MetadataOptions. */ + MetadataOptions: { + ItemType?: string | null; + DisabledMetadataSavers?: string[] | null; + LocalMetadataReaderOrder?: string[] | null; + DisabledMetadataFetchers?: string[] | null; + MetadataFetcherOrder?: string[] | null; + DisabledImageFetchers?: string[] | null; + ImageFetcherOrder?: string[] | null; + }; + /** @enum {string} */ + MetadataRefreshMode: "None" | "ValidationOnly" | "Default" | "FullRefresh"; + /** @description Class MovePlaylistItemRequestDto. */ + MovePlaylistItemRequestDto: { + /** + * Format: uuid + * @description Gets or sets the playlist identifier of the item. + */ + PlaylistItemId?: string; + /** + * Format: int32 + * @description Gets or sets the new position. + */ + NewIndex?: number; + }; + MovieInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + }; + MovieInfoRemoteSearchQuery: { + SearchInfo?: components["schemas"]["MovieInfo"] | null; + /** Format: uuid */ + ItemId?: string; + /** @description Gets or sets the provider name to search within if set. */ + SearchProviderName?: string | null; + /** @description Gets or sets a value indicating whether disabled providers should be included. */ + IncludeDisabledProviders?: boolean; + }; + MusicVideoInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + Artists?: string[] | null; + }; + MusicVideoInfoRemoteSearchQuery: { + SearchInfo?: components["schemas"]["MusicVideoInfo"] | null; + /** Format: uuid */ + ItemId?: string; + /** @description Gets or sets the provider name to search within if set. */ + SearchProviderName?: string | null; + /** @description Gets or sets a value indicating whether disabled providers should be included. */ + IncludeDisabledProviders?: boolean; + }; + NameGuidPair: { + Name?: string | null; + /** Format: uuid */ + Id?: string; + }; + NameIdPair: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the identifier. */ + Id?: string | null; + }; + NameValuePair: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the value. */ + Value?: string | null; + }; + /** @description Defines the MediaBrowser.Common.Net.NetworkConfiguration. */ + NetworkConfiguration: { + /** @description Gets or sets a value used to specify the URL prefix that your Jellyfin instance can be accessed at. */ + BaseUrl?: string; + /** @description Gets or sets a value indicating whether to use HTTPS. */ + EnableHttps?: boolean; + /** @description Gets or sets a value indicating whether the server should force connections over HTTPS. */ + RequireHttps?: boolean; + /** @description Gets or sets the filesystem path of an X.509 certificate to use for SSL. */ + CertificatePath?: string; + /** @description Gets or sets the password required to access the X.509 certificate data in the file specified by MediaBrowser.Common.Net.NetworkConfiguration.CertificatePath. */ + CertificatePassword?: string; + /** + * Format: int32 + * @description Gets or sets the internal HTTP server port. + */ + InternalHttpPort?: number; + /** + * Format: int32 + * @description Gets or sets the internal HTTPS server port. + */ + InternalHttpsPort?: number; + /** + * Format: int32 + * @description Gets or sets the public HTTP port. + */ + PublicHttpPort?: number; + /** + * Format: int32 + * @description Gets or sets the public HTTPS port. + */ + PublicHttpsPort?: number; + /** @description Gets or sets a value indicating whether Autodiscovery is enabled. */ + AutoDiscovery?: boolean; + /** @description Gets or sets a value indicating whether to enable automatic port forwarding. */ + EnableUPnP?: boolean; + /** @description Gets or sets a value indicating whether IPv6 is enabled. */ + EnableIPv4?: boolean; + /** @description Gets or sets a value indicating whether IPv6 is enabled. */ + EnableIPv6?: boolean; + /** @description Gets or sets a value indicating whether access from outside of the LAN is permitted. */ + EnableRemoteAccess?: boolean; + /** @description Gets or sets the subnets that are deemed to make up the LAN. */ + LocalNetworkSubnets?: string[]; + /** @description Gets or sets the interface addresses which Jellyfin will bind to. If empty, all interfaces will be used. */ + LocalNetworkAddresses?: string[]; + /** @description Gets or sets the known proxies. */ + KnownProxies?: string[]; + /** @description Gets or sets a value indicating whether address names that match MediaBrowser.Common.Net.NetworkConfiguration.VirtualInterfaceNames should be ignored for the purposes of binding. */ + IgnoreVirtualInterfaces?: boolean; + /** @description Gets or sets a value indicating the interface name prefixes that should be ignored. The list can be comma separated and values are case-insensitive. . */ + VirtualInterfaceNames?: string[]; + /** @description Gets or sets a value indicating whether the published server uri is based on information in HTTP requests. */ + EnablePublishedServerUriByRequest?: boolean; + /** @description Gets or sets the PublishedServerUriBySubnet + * Gets or sets PublishedServerUri to advertise for specific subnets. */ + PublishedServerUriBySubnet?: string[]; + /** @description Gets or sets the filter for remote IP connectivity. Used in conjunction with . */ + RemoteIPFilter?: string[]; + /** @description Gets or sets a value indicating whether contains a blacklist or a whitelist. Default is a whitelist. */ + IsRemoteIPFilterBlacklist?: boolean; + }; + /** @description Class NewGroupRequestDto. */ + NewGroupRequestDto: { + /** @description Gets or sets the group name. */ + GroupName?: string; + }; + /** @description Class NextItemRequestDto. */ + NextItemRequestDto: { + /** + * Format: uuid + * @description Gets or sets the playing item identifier. + */ + PlaylistItemId?: string; + }; + OidConfig: { + OidEndpoint?: string | null; + OidClientId?: string | null; + OidSecret?: string | null; + Enabled?: boolean; + EnableAuthorization?: boolean; + EnableAllFolders?: boolean; + EnabledFolders?: string[] | null; + AdminRoles?: string[] | null; + Roles?: string[] | null; + EnableFolderRoles?: boolean; + EnableLiveTvRoles?: boolean; + EnableLiveTv?: boolean; + EnableLiveTvManagement?: boolean; + LiveTvRoles?: string[] | null; + LiveTvManagementRoles?: string[] | null; + FolderRoleMapping?: components["schemas"]["FolderRoleMap"][] | null; + RoleClaim?: string | null; + OidScopes?: string[] | null; + DefaultProvider?: string | null; + SchemeOverride?: string | null; + NewPath?: boolean; + CanonicalLinks?: { + [key: string]: string; + } | null; + DefaultUsernameClaim?: string | null; + DisableHttps?: boolean; + DoNotValidateEndpoints?: boolean; + DoNotValidateIssuerName?: boolean; + }; + /** @description Open live stream dto. */ + OpenLiveStreamDto: { + /** @description Gets or sets the open token. */ + OpenToken?: string | null; + /** + * Format: uuid + * @description Gets or sets the user id. + */ + UserId?: string | null; + /** @description Gets or sets the play session id. */ + PlaySessionId?: string | null; + /** + * Format: int32 + * @description Gets or sets the max streaming bitrate. + */ + MaxStreamingBitrate?: number | null; + /** + * Format: int64 + * @description Gets or sets the start time in ticks. + */ + StartTimeTicks?: number | null; + /** + * Format: int32 + * @description Gets or sets the audio stream index. + */ + AudioStreamIndex?: number | null; + /** + * Format: int32 + * @description Gets or sets the subtitle stream index. + */ + SubtitleStreamIndex?: number | null; + /** + * Format: int32 + * @description Gets or sets the max audio channels. + */ + MaxAudioChannels?: number | null; + /** + * Format: uuid + * @description Gets or sets the item id. + */ + ItemId?: string | null; + /** @description Gets or sets a value indicating whether to enable direct play. */ + EnableDirectPlay?: boolean | null; + /** @description Gets or sets a value indicating whether to enale direct stream. */ + EnableDirectStream?: boolean | null; + /** @description Gets or sets a value indicating whether always burn in subtitles when transcoding. */ + AlwaysBurnInSubtitleWhenTranscoding?: boolean | null; + /** @description Gets or sets the device profile. */ + DeviceProfile?: components["schemas"]["DeviceProfile"] | null; + /** @description Gets or sets the device play protocols. */ + DirectPlayProtocols?: components["schemas"]["MediaProtocol"][]; + }; + /** @description Keep alive websocket messages. */ + OutboundKeepAliveMessage: { + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "KeepAlive"; + }; + /** @description Represents the list of possible outbound websocket types */ + OutboundWebSocketMessage: components["schemas"]["ActivityLogEntryMessage"] | components["schemas"]["ForceKeepAliveMessage"] | components["schemas"]["GeneralCommandMessage"] | components["schemas"]["LibraryChangedMessage"] | components["schemas"]["OutboundKeepAliveMessage"] | components["schemas"]["PlayMessage"] | components["schemas"]["PlaystateMessage"] | components["schemas"]["PluginInstallationCancelledMessage"] | components["schemas"]["PluginInstallationCompletedMessage"] | components["schemas"]["PluginInstallationFailedMessage"] | components["schemas"]["PluginInstallingMessage"] | components["schemas"]["PluginUninstalledMessage"] | components["schemas"]["RefreshProgressMessage"] | components["schemas"]["RestartRequiredMessage"] | components["schemas"]["ScheduledTaskEndedMessage"] | components["schemas"]["ScheduledTasksInfoMessage"] | components["schemas"]["SeriesTimerCancelledMessage"] | components["schemas"]["SeriesTimerCreatedMessage"] | components["schemas"]["ServerRestartingMessage"] | components["schemas"]["ServerShuttingDownMessage"] | components["schemas"]["SessionsMessage"] | components["schemas"]["SyncPlayCommandMessage"] | components["schemas"]["SyncPlayGroupUpdateCommandMessage"] | components["schemas"]["TimerCancelledMessage"] | components["schemas"]["TimerCreatedMessage"] | components["schemas"]["UserDataChangedMessage"] | components["schemas"]["UserDeletedMessage"] | components["schemas"]["UserUpdatedMessage"]; + /** @description Class PackageInfo. */ + PackageInfo: { + /** @description Gets or sets the name. */ + name?: string; + /** @description Gets or sets a long description of the plugin containing features or helpful explanations. */ + description?: string; + /** @description Gets or sets a short overview of what the plugin does. */ + overview?: string; + /** @description Gets or sets the owner. */ + owner?: string; + /** @description Gets or sets the category. */ + category?: string; + /** + * Format: uuid + * @description Gets or sets the guid of the assembly associated with this plugin. + * This is used to identify the proper item for automatic updates. + */ + guid?: string; + /** @description Gets or sets the versions. */ + versions?: components["schemas"]["VersionInfo"][]; + /** @description Gets or sets the image url for the package. */ + imageUrl?: string | null; + }; + /** @description Class ParentalRating. */ + ParentalRating: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** + * Format: int32 + * @description Gets or sets the value. + */ + Value?: number | null; + }; + /** @description Defines the MediaBrowser.Model.Configuration.PathSubstitution. */ + PathSubstitution: { + /** @description Gets or sets the value to substitute. */ + From?: string; + /** @description Gets or sets the value to substitution with. */ + To?: string; + }; + /** + * @description The person kind. + * @enum {string} + */ + PersonKind: "Unknown" | "Actor" | "Director" | "Composer" | "Writer" | "GuestStar" | "Producer" | "Conductor" | "Lyricist" | "Arranger" | "Engineer" | "Mixer" | "Remixer" | "Creator" | "Artist" | "AlbumArtist" | "Author" | "Illustrator" | "Penciller" | "Inker" | "Colorist" | "Letterer" | "CoverArtist" | "Editor" | "Translator"; + PersonLookupInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + }; + PersonLookupInfoRemoteSearchQuery: { + SearchInfo?: components["schemas"]["PersonLookupInfo"] | null; + /** Format: uuid */ + ItemId?: string; + /** @description Gets or sets the provider name to search within if set. */ + SearchProviderName?: string | null; + /** @description Gets or sets a value indicating whether disabled providers should be included. */ + IncludeDisabledProviders?: boolean; + }; + /** @description Class PingRequestDto. */ + PingRequestDto: { + /** + * Format: int64 + * @description Gets or sets the ping time. + */ + Ping?: number; + }; + PinRedeemResult: { + /** @description Gets or sets a value indicating whether this MediaBrowser.Model.Users.PinRedeemResult is success. */ + Success?: boolean; + /** @description Gets or sets the users reset. */ + UsersReset?: string[]; + }; + /** @enum {string} */ + PlayAccess: "Full" | "None"; + /** @enum {string} */ + PlaybackErrorCode: "NotAllowed" | "NoCompatibleStream" | "RateLimitExceeded"; + /** @description Plabyback info dto. */ + PlaybackInfoDto: { + /** + * Format: uuid + * @description Gets or sets the playback userId. + */ + UserId?: string | null; + /** + * Format: int32 + * @description Gets or sets the max streaming bitrate. + */ + MaxStreamingBitrate?: number | null; + /** + * Format: int64 + * @description Gets or sets the start time in ticks. + */ + StartTimeTicks?: number | null; + /** + * Format: int32 + * @description Gets or sets the audio stream index. + */ + AudioStreamIndex?: number | null; + /** + * Format: int32 + * @description Gets or sets the subtitle stream index. + */ + SubtitleStreamIndex?: number | null; + /** + * Format: int32 + * @description Gets or sets the max audio channels. + */ + MaxAudioChannels?: number | null; + /** @description Gets or sets the media source id. */ + MediaSourceId?: string | null; + /** @description Gets or sets the live stream id. */ + LiveStreamId?: string | null; + /** @description Gets or sets the device profile. */ + DeviceProfile?: components["schemas"]["DeviceProfile"] | null; + /** @description Gets or sets a value indicating whether to enable direct play. */ + EnableDirectPlay?: boolean | null; + /** @description Gets or sets a value indicating whether to enable direct stream. */ + EnableDirectStream?: boolean | null; + /** @description Gets or sets a value indicating whether to enable transcoding. */ + EnableTranscoding?: boolean | null; + /** @description Gets or sets a value indicating whether to enable video stream copy. */ + AllowVideoStreamCopy?: boolean | null; + /** @description Gets or sets a value indicating whether to allow audio stream copy. */ + AllowAudioStreamCopy?: boolean | null; + /** @description Gets or sets a value indicating whether to auto open the live stream. */ + AutoOpenLiveStream?: boolean | null; + /** @description Gets or sets a value indicating whether always burn in subtitles when transcoding. */ + AlwaysBurnInSubtitleWhenTranscoding?: boolean | null; + }; + /** @description Class PlaybackInfoResponse. */ + PlaybackInfoResponse: { + /** @description Gets or sets the media sources. */ + MediaSources?: components["schemas"]["MediaSourceInfo"][]; + /** @description Gets or sets the play session identifier. */ + PlaySessionId?: string | null; + /** + * @description Gets or sets the error code. + * @enum {unknown|null} + */ + ErrorCode?: "NotAllowed" | "NoCompatibleStream" | "RateLimitExceeded" | null; + }; + /** + * @description Enum PlaybackOrder. + * @enum {string} + */ + PlaybackOrder: "Default" | "Shuffle"; + /** @description Class PlaybackProgressInfo. */ + PlaybackProgressInfo: { + /** @description Gets or sets a value indicating whether this instance can seek. */ + CanSeek?: boolean; + /** @description Gets or sets the item. */ + Item?: components["schemas"]["BaseItemDto"] | null; + /** + * Format: uuid + * @description Gets or sets the item identifier. + */ + ItemId?: string; + /** @description Gets or sets the session id. */ + SessionId?: string | null; + /** @description Gets or sets the media version identifier. */ + MediaSourceId?: string | null; + /** + * Format: int32 + * @description Gets or sets the index of the audio stream. + */ + AudioStreamIndex?: number | null; + /** + * Format: int32 + * @description Gets or sets the index of the subtitle stream. + */ + SubtitleStreamIndex?: number | null; + /** @description Gets or sets a value indicating whether this instance is paused. */ + IsPaused?: boolean; + /** @description Gets or sets a value indicating whether this instance is muted. */ + IsMuted?: boolean; + /** + * Format: int64 + * @description Gets or sets the position ticks. + */ + PositionTicks?: number | null; + /** Format: int64 */ + PlaybackStartTimeTicks?: number | null; + /** + * Format: int32 + * @description Gets or sets the volume level. + */ + VolumeLevel?: number | null; + /** Format: int32 */ + Brightness?: number | null; + AspectRatio?: string | null; + /** + * @description Gets or sets the play method. + * @enum {unknown} + */ + PlayMethod?: "Transcode" | "DirectStream" | "DirectPlay"; + /** @description Gets or sets the live stream identifier. */ + LiveStreamId?: string | null; + /** @description Gets or sets the play session identifier. */ + PlaySessionId?: string | null; + /** + * @description Gets or sets the repeat mode. + * @enum {unknown} + */ + RepeatMode?: "RepeatNone" | "RepeatAll" | "RepeatOne"; + /** + * @description Gets or sets the playback order. + * @enum {unknown} + */ + PlaybackOrder?: "Default" | "Shuffle"; + NowPlayingQueue?: components["schemas"]["QueueItem"][] | null; + PlaylistItemId?: string | null; + }; + /** + * @description Enum PlaybackRequestType. + * @enum {string} + */ + PlaybackRequestType: "Play" | "SetPlaylistItem" | "RemoveFromPlaylist" | "MovePlaylistItem" | "Queue" | "Unpause" | "Pause" | "Stop" | "Seek" | "Buffer" | "Ready" | "NextItem" | "PreviousItem" | "SetRepeatMode" | "SetShuffleMode" | "Ping" | "IgnoreWait"; + /** @description Class PlaybackStartInfo. */ + PlaybackStartInfo: { + /** @description Gets or sets a value indicating whether this instance can seek. */ + CanSeek?: boolean; + /** @description Gets or sets the item. */ + Item?: components["schemas"]["BaseItemDto"] | null; + /** + * Format: uuid + * @description Gets or sets the item identifier. + */ + ItemId?: string; + /** @description Gets or sets the session id. */ + SessionId?: string | null; + /** @description Gets or sets the media version identifier. */ + MediaSourceId?: string | null; + /** + * Format: int32 + * @description Gets or sets the index of the audio stream. + */ + AudioStreamIndex?: number | null; + /** + * Format: int32 + * @description Gets or sets the index of the subtitle stream. + */ + SubtitleStreamIndex?: number | null; + /** @description Gets or sets a value indicating whether this instance is paused. */ + IsPaused?: boolean; + /** @description Gets or sets a value indicating whether this instance is muted. */ + IsMuted?: boolean; + /** + * Format: int64 + * @description Gets or sets the position ticks. + */ + PositionTicks?: number | null; + /** Format: int64 */ + PlaybackStartTimeTicks?: number | null; + /** + * Format: int32 + * @description Gets or sets the volume level. + */ + VolumeLevel?: number | null; + /** Format: int32 */ + Brightness?: number | null; + AspectRatio?: string | null; + /** + * @description Gets or sets the play method. + * @enum {unknown} + */ + PlayMethod?: "Transcode" | "DirectStream" | "DirectPlay"; + /** @description Gets or sets the live stream identifier. */ + LiveStreamId?: string | null; + /** @description Gets or sets the play session identifier. */ + PlaySessionId?: string | null; + /** + * @description Gets or sets the repeat mode. + * @enum {unknown} + */ + RepeatMode?: "RepeatNone" | "RepeatAll" | "RepeatOne"; + /** + * @description Gets or sets the playback order. + * @enum {unknown} + */ + PlaybackOrder?: "Default" | "Shuffle"; + NowPlayingQueue?: components["schemas"]["QueueItem"][] | null; + PlaylistItemId?: string | null; + }; + /** @description Class PlaybackStopInfo. */ + PlaybackStopInfo: { + /** @description Gets or sets the item. */ + Item?: components["schemas"]["BaseItemDto"] | null; + /** + * Format: uuid + * @description Gets or sets the item identifier. + */ + ItemId?: string; + /** @description Gets or sets the session id. */ + SessionId?: string | null; + /** @description Gets or sets the media version identifier. */ + MediaSourceId?: string | null; + /** + * Format: int64 + * @description Gets or sets the position ticks. + */ + PositionTicks?: number | null; + /** @description Gets or sets the live stream identifier. */ + LiveStreamId?: string | null; + /** @description Gets or sets the play session identifier. */ + PlaySessionId?: string | null; + /** @description Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed. */ + Failed?: boolean; + NextMediaType?: string | null; + PlaylistItemId?: string | null; + NowPlayingQueue?: components["schemas"]["QueueItem"][] | null; + }; + /** + * @description Enum PlayCommand. + * @enum {string} + */ + PlayCommand: "PlayNow" | "PlayNext" | "PlayLast" | "PlayInstantMix" | "PlayShuffle"; + PlayerStateInfo: { + /** + * Format: int64 + * @description Gets or sets the now playing position ticks. + */ + PositionTicks?: number | null; + /** @description Gets or sets a value indicating whether this instance can seek. */ + CanSeek?: boolean; + /** @description Gets or sets a value indicating whether this instance is paused. */ + IsPaused?: boolean; + /** @description Gets or sets a value indicating whether this instance is muted. */ + IsMuted?: boolean; + /** + * Format: int32 + * @description Gets or sets the volume level. + */ + VolumeLevel?: number | null; + /** + * Format: int32 + * @description Gets or sets the index of the now playing audio stream. + */ + AudioStreamIndex?: number | null; + /** + * Format: int32 + * @description Gets or sets the index of the now playing subtitle stream. + */ + SubtitleStreamIndex?: number | null; + /** @description Gets or sets the now playing media version identifier. */ + MediaSourceId?: string | null; + /** + * @description Gets or sets the play method. + * @enum {unknown|null} + */ + PlayMethod?: "Transcode" | "DirectStream" | "DirectPlay" | null; + /** + * @description Gets or sets the repeat mode. + * @enum {unknown} + */ + RepeatMode?: "RepeatNone" | "RepeatAll" | "RepeatOne"; + /** + * @description Gets or sets the playback order. + * @enum {unknown} + */ + PlaybackOrder?: "Default" | "Shuffle"; + /** @description Gets or sets the now playing live stream identifier. */ + LiveStreamId?: string | null; + }; + PlaylistCreationResult: { + Id?: string; + }; + /** @description DTO for playlists. */ + PlaylistDto: { + /** @description Gets or sets a value indicating whether the playlist is publicly readable. */ + OpenAccess?: boolean; + /** @description Gets or sets the share permissions. */ + Shares?: components["schemas"]["PlaylistUserPermissions"][]; + /** @description Gets or sets the item ids. */ + ItemIds?: string[]; + }; + /** @description Class to hold data on user permissions for playlists. */ + PlaylistUserPermissions: { + /** + * Format: uuid + * @description Gets or sets the user id. + */ + UserId?: string; + /** @description Gets or sets a value indicating whether the user has edit permissions. */ + CanEdit?: boolean; + }; + /** @description Play command websocket message. */ + PlayMessage: { + /** @description Class PlayRequest. */ + Data?: components["schemas"]["PlayRequest"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "Play"; + }; + /** @enum {string} */ + PlayMethod: "Transcode" | "DirectStream" | "DirectPlay"; + /** @description Class PlayQueueUpdate. */ + PlayQueueUpdate: { + /** + * @description Gets the request type that originated this update. + * @enum {unknown} + */ + Reason?: "NewPlaylist" | "SetCurrentItem" | "RemoveItems" | "MoveItem" | "Queue" | "QueueNext" | "NextItem" | "PreviousItem" | "RepeatMode" | "ShuffleMode"; + /** + * Format: date-time + * @description Gets the UTC time of the last change to the playing queue. + */ + LastUpdate?: string; + /** @description Gets the playlist. */ + Playlist?: components["schemas"]["SyncPlayQueueItem"][]; + /** + * Format: int32 + * @description Gets the playing item index in the playlist. + */ + PlayingItemIndex?: number; + /** + * Format: int64 + * @description Gets the start position ticks. + */ + StartPositionTicks?: number; + /** @description Gets a value indicating whether the current item is playing. */ + IsPlaying?: boolean; + /** + * @description Gets the shuffle mode. + * @enum {unknown} + */ + ShuffleMode?: "Sorted" | "Shuffle"; + /** + * @description Gets the repeat mode. + * @enum {unknown} + */ + RepeatMode?: "RepeatOne" | "RepeatAll" | "RepeatNone"; + }; + /** @description Class GroupUpdate. */ + PlayQueueUpdateGroupUpdate: { + /** + * Format: uuid + * @description Gets the group identifier. + */ + readonly GroupId?: string; + /** + * @description Gets the update type. (enum property replaced by openapi-typescript) + * @enum {string} + */ + Type: "PlayQueue"; + /** @description Gets the update data. */ + Data?: components["schemas"]["PlayQueueUpdate"]; + }; + /** + * @description Enum PlayQueueUpdateReason. + * @enum {string} + */ + PlayQueueUpdateReason: "NewPlaylist" | "SetCurrentItem" | "RemoveItems" | "MoveItem" | "Queue" | "QueueNext" | "NextItem" | "PreviousItem" | "RepeatMode" | "ShuffleMode"; + /** @description Class PlayRequest. */ + PlayRequest: { + /** @description Gets or sets the item ids. */ + ItemIds?: string[] | null; + /** + * Format: int64 + * @description Gets or sets the start position ticks that the first item should be played at. + */ + StartPositionTicks?: number | null; + /** + * @description Gets or sets the play command. + * @enum {unknown} + */ + PlayCommand?: "PlayNow" | "PlayNext" | "PlayLast" | "PlayInstantMix" | "PlayShuffle"; + /** + * Format: uuid + * @description Gets or sets the controlling user identifier. + */ + ControllingUserId?: string; + /** Format: int32 */ + SubtitleStreamIndex?: number | null; + /** Format: int32 */ + AudioStreamIndex?: number | null; + MediaSourceId?: string | null; + /** Format: int32 */ + StartIndex?: number | null; + }; + /** @description Class PlayRequestDto. */ + PlayRequestDto: { + /** @description Gets or sets the playing queue. */ + PlayingQueue?: string[]; + /** + * Format: int32 + * @description Gets or sets the position of the playing item in the queue. + */ + PlayingItemPosition?: number; + /** + * Format: int64 + * @description Gets or sets the start position ticks. + */ + StartPositionTicks?: number; + }; + /** + * @description Enum PlaystateCommand. + * @enum {string} + */ + PlaystateCommand: "Stop" | "Pause" | "Unpause" | "NextTrack" | "PreviousTrack" | "Seek" | "Rewind" | "FastForward" | "PlayPause"; + /** @description Playstate message. */ + PlaystateMessage: { + /** @description Gets or sets the data. */ + Data?: components["schemas"]["PlaystateRequest"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "Playstate"; + }; + PlaystateRequest: { + /** + * @description Enum PlaystateCommand. + * @enum {unknown} + */ + Command?: "Stop" | "Pause" | "Unpause" | "NextTrack" | "PreviousTrack" | "Seek" | "Rewind" | "FastForward" | "PlayPause"; + /** Format: int64 */ + SeekPositionTicks?: number | null; + /** @description Gets or sets the controlling user identifier. */ + ControllingUserId?: string | null; + }; + /** @description This is a serializable stub class that is used by the api to provide information about installed plugins. */ + PluginInfo: { + /** @description Gets or sets the name. */ + Name?: string; + /** @description Gets or sets the version. */ + Version?: string; + /** @description Gets or sets the name of the configuration file. */ + ConfigurationFileName?: string | null; + /** @description Gets or sets the description. */ + Description?: string; + /** + * Format: uuid + * @description Gets or sets the unique id. + */ + Id?: string; + /** @description Gets or sets a value indicating whether the plugin can be uninstalled. */ + CanUninstall?: boolean; + /** @description Gets or sets a value indicating whether this plugin has a valid image. */ + HasImage?: boolean; + /** + * @description Gets or sets a value indicating the status of the plugin. + * @enum {unknown} + */ + Status?: "Active" | "Restart" | "Deleted" | "Superceded" | "Malfunctioned" | "NotSupported" | "Disabled"; + }; + /** @description Plugin installation cancelled message. */ + PluginInstallationCancelledMessage: { + /** @description Class InstallationInfo. */ + Data?: components["schemas"]["InstallationInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "PackageInstallationCancelled"; + }; + /** @description Plugin installation completed message. */ + PluginInstallationCompletedMessage: { + /** @description Class InstallationInfo. */ + Data?: components["schemas"]["InstallationInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "PackageInstallationCompleted"; + }; + /** @description Plugin installation failed message. */ + PluginInstallationFailedMessage: { + /** @description Class InstallationInfo. */ + Data?: components["schemas"]["InstallationInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "PackageInstallationFailed"; + }; + /** @description Package installing message. */ + PluginInstallingMessage: { + /** @description Class InstallationInfo. */ + Data?: components["schemas"]["InstallationInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "PackageInstalling"; + }; + /** + * @description Plugin load status. + * @enum {string} + */ + PluginStatus: "Active" | "Restart" | "Deleted" | "Superceded" | "Malfunctioned" | "NotSupported" | "Disabled"; + /** @description Plugin uninstalled message. */ + PluginUninstalledMessage: { + /** @description This is a serializable stub class that is used by the api to provide information about installed plugins. */ + Data?: components["schemas"]["PluginInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "PackageUninstalled"; + }; + /** @description Class PreviousItemRequestDto. */ + PreviousItemRequestDto: { + /** + * Format: uuid + * @description Gets or sets the playing item identifier. + */ + PlaylistItemId?: string; + }; + ProblemDetails: { + type?: string | null; + title?: string | null; + /** Format: int32 */ + status?: number | null; + detail?: string | null; + instance?: string | null; + } & { + [key: string]: unknown; + }; + /** @enum {string} */ + ProcessPriorityClass: "Normal" | "Idle" | "High" | "RealTime" | "BelowNormal" | "AboveNormal"; + ProfileCondition: { + /** @enum {unknown} */ + Condition?: "Equals" | "NotEquals" | "LessThanEqual" | "GreaterThanEqual" | "EqualsAny"; + /** @enum {unknown} */ + Property?: "AudioChannels" | "AudioBitrate" | "AudioProfile" | "Width" | "Height" | "Has64BitOffsets" | "PacketLength" | "VideoBitDepth" | "VideoBitrate" | "VideoFramerate" | "VideoLevel" | "VideoProfile" | "VideoTimestamp" | "IsAnamorphic" | "RefFrames" | "NumAudioStreams" | "NumVideoStreams" | "IsSecondaryAudio" | "VideoCodecTag" | "IsAvc" | "IsInterlaced" | "AudioSampleRate" | "AudioBitDepth" | "VideoRangeType"; + Value?: string | null; + IsRequired?: boolean; + }; + /** @enum {string} */ + ProfileConditionType: "Equals" | "NotEquals" | "LessThanEqual" | "GreaterThanEqual" | "EqualsAny"; + /** @enum {string} */ + ProfileConditionValue: "AudioChannels" | "AudioBitrate" | "AudioProfile" | "Width" | "Height" | "Has64BitOffsets" | "PacketLength" | "VideoBitDepth" | "VideoBitrate" | "VideoFramerate" | "VideoLevel" | "VideoProfile" | "VideoTimestamp" | "IsAnamorphic" | "RefFrames" | "NumAudioStreams" | "NumVideoStreams" | "IsSecondaryAudio" | "VideoCodecTag" | "IsAvc" | "IsInterlaced" | "AudioSampleRate" | "AudioBitDepth" | "VideoRangeType"; + /** @enum {string} */ + ProgramAudio: "Mono" | "Stereo" | "Dolby" | "DolbyDigital" | "Thx" | "Atmos"; + PublicSystemInfo: { + /** @description Gets or sets the local address. */ + LocalAddress?: string | null; + /** @description Gets or sets the name of the server. */ + ServerName?: string | null; + /** @description Gets or sets the server version. */ + Version?: string | null; + /** @description Gets or sets the product name. This is the AssemblyProduct name. */ + ProductName?: string | null; + /** + * @deprecated + * @description Gets or sets the operating system. + */ + OperatingSystem?: string | null; + /** @description Gets or sets the id. */ + Id?: string | null; + /** @description Gets or sets a value indicating whether the startup wizard is completed. */ + StartupWizardCompleted?: boolean | null; + }; + QueryFilters: { + Genres?: components["schemas"]["NameGuidPair"][] | null; + Tags?: string[] | null; + }; + QueryFiltersLegacy: { + Genres?: string[] | null; + Tags?: string[] | null; + OfficialRatings?: string[] | null; + Years?: number[] | null; + }; + QueueItem: { + /** Format: uuid */ + Id?: string; + PlaylistItemId?: string | null; + }; + /** @description Class QueueRequestDto. */ + QueueRequestDto: { + /** @description Gets or sets the items to enqueue. */ + ItemIds?: string[]; + /** + * @description Gets or sets the mode in which to add the new items. + * @enum {unknown} + */ + Mode?: "Queue" | "QueueNext"; + }; + /** @description The quick connect request body. */ + QuickConnectDto: { + /** @description Gets or sets the quick connect secret. */ + Secret: string; + }; + /** @description Stores the state of an quick connect request. */ + QuickConnectResult: { + /** @description Gets or sets a value indicating whether this request is authorized. */ + Authenticated?: boolean; + /** @description Gets the secret value used to uniquely identify this request. Can be used to retrieve authentication information. */ + Secret?: string; + /** @description Gets the user facing code used so the user can quickly differentiate this request from others. */ + Code?: string; + /** @description Gets the requesting device id. */ + DeviceId?: string; + /** @description Gets the requesting device name. */ + DeviceName?: string; + /** @description Gets the requesting app name. */ + AppName?: string; + /** @description Gets the requesting app version. */ + AppVersion?: string; + /** + * Format: date-time + * @description Gets or sets the DateTime that this request was created. + */ + DateAdded?: string; + }; + /** @enum {string} */ + RatingType: "Score" | "Likes"; + /** @description Class ReadyRequest. */ + ReadyRequestDto: { + /** + * Format: date-time + * @description Gets or sets when the request has been made by the client. + */ + When?: string; + /** + * Format: int64 + * @description Gets or sets the position ticks. + */ + PositionTicks?: number; + /** @description Gets or sets a value indicating whether the client playback is unpaused. */ + IsPlaying?: boolean; + /** + * Format: uuid + * @description Gets or sets the playlist item identifier of the playing item. + */ + PlaylistItemId?: string; + }; + RecommendationDto: { + Items?: components["schemas"]["BaseItemDto"][] | null; + /** @enum {unknown} */ + RecommendationType?: "SimilarToRecentlyPlayed" | "SimilarToLikedItem" | "HasDirectorFromRecentlyPlayed" | "HasActorFromRecentlyPlayed" | "HasLikedDirector" | "HasLikedActor"; + BaselineItemName?: string | null; + /** Format: uuid */ + CategoryId?: string; + }; + /** @enum {string} */ + RecommendationType: "SimilarToRecentlyPlayed" | "SimilarToLikedItem" | "HasDirectorFromRecentlyPlayed" | "HasActorFromRecentlyPlayed" | "HasLikedDirector" | "HasLikedActor"; + /** @enum {string} */ + RecordingStatus: "New" | "InProgress" | "Completed" | "Cancelled" | "ConflictedOk" | "ConflictedNotOk" | "Error"; + /** @description Refresh progress message. */ + RefreshProgressMessage: { + /** @description Gets or sets the data. */ + Data?: { + [key: string]: string | null; + } | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "RefreshProgress"; + }; + /** @description Class RemoteImageInfo. */ + RemoteImageInfo: { + /** @description Gets or sets the name of the provider. */ + ProviderName?: string | null; + /** @description Gets or sets the URL. */ + Url?: string | null; + /** @description Gets or sets a url used for previewing a smaller version. */ + ThumbnailUrl?: string | null; + /** + * Format: int32 + * @description Gets or sets the height. + */ + Height?: number | null; + /** + * Format: int32 + * @description Gets or sets the width. + */ + Width?: number | null; + /** + * Format: double + * @description Gets or sets the community rating. + */ + CommunityRating?: number | null; + /** + * Format: int32 + * @description Gets or sets the vote count. + */ + VoteCount?: number | null; + /** @description Gets or sets the language. */ + Language?: string | null; + /** + * @description Gets or sets the type. + * @enum {unknown} + */ + Type?: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** + * @description Gets or sets the type of the rating. + * @enum {unknown} + */ + RatingType?: "Score" | "Likes"; + }; + /** @description Class RemoteImageResult. */ + RemoteImageResult: { + /** @description Gets or sets the images. */ + Images?: components["schemas"]["RemoteImageInfo"][] | null; + /** + * Format: int32 + * @description Gets or sets the total record count. + */ + TotalRecordCount?: number; + /** @description Gets or sets the providers. */ + Providers?: string[] | null; + }; + /** @description The remote lyric info dto. */ + RemoteLyricInfoDto: { + /** @description Gets or sets the id for the lyric. */ + Id?: string; + /** @description Gets the provider name. */ + ProviderName?: string; + /** @description Gets the lyrics. */ + Lyrics?: components["schemas"]["LyricDto"]; + }; + RemoteSearchResult: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + ProductionYear?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + IndexNumberEnd?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + ImageUrl?: string | null; + SearchProviderName?: string | null; + Overview?: string | null; + AlbumArtist?: components["schemas"]["RemoteSearchResult"] | null; + Artists?: components["schemas"]["RemoteSearchResult"][] | null; + }; + RemoteSubtitleInfo: { + ThreeLetterISOLanguageName?: string | null; + Id?: string | null; + ProviderName?: string | null; + Name?: string | null; + Format?: string | null; + Author?: string | null; + Comment?: string | null; + /** Format: date-time */ + DateCreated?: string | null; + /** Format: float */ + CommunityRating?: number | null; + /** Format: float */ + FrameRate?: number | null; + /** Format: int32 */ + DownloadCount?: number | null; + IsHashMatch?: boolean | null; + AiTranslated?: boolean | null; + MachineTranslated?: boolean | null; + Forced?: boolean | null; + HearingImpaired?: boolean | null; + }; + /** @description Class RemoveFromPlaylistRequestDto. */ + RemoveFromPlaylistRequestDto: { + /** @description Gets or sets the playlist identifiers of the items. Ignored when clearing the playlist. */ + PlaylistItemIds?: string[]; + /** @description Gets or sets a value indicating whether the entire playlist should be cleared. */ + ClearPlaylist?: boolean; + /** @description Gets or sets a value indicating whether the playing item should be removed as well. Used only when clearing the playlist. */ + ClearPlayingItem?: boolean; + }; + /** @enum {string} */ + RepeatMode: "RepeatNone" | "RepeatAll" | "RepeatOne"; + /** @description Class RepositoryInfo. */ + RepositoryInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the URL. */ + Url?: string | null; + /** @description Gets or sets a value indicating whether the repository is enabled. */ + Enabled?: boolean; + }; + /** @description Restart required. */ + RestartRequiredMessage: { + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "RestartRequired"; + }; + SamlConfig: { + SamlEndpoint?: string | null; + SamlClientId?: string | null; + SamlCertificate?: string | null; + Enabled?: boolean; + EnableAuthorization?: boolean; + EnableAllFolders?: boolean; + EnabledFolders?: string[] | null; + AdminRoles?: string[] | null; + Roles?: string[] | null; + EnableFolderRoles?: boolean; + EnableLiveTvRoles?: boolean; + EnableLiveTv?: boolean; + EnableLiveTvManagement?: boolean; + LiveTvRoles?: string[] | null; + LiveTvManagementRoles?: string[] | null; + FolderRoleMapping?: components["schemas"]["FolderRoleMap"][] | null; + DefaultProvider?: string | null; + SchemeOverride?: string | null; + NewPath?: boolean; + CanonicalLinks?: { + [key: string]: string; + } | null; + }; + /** @description Scheduled task ended message. */ + ScheduledTaskEndedMessage: { + /** @description Class TaskExecutionInfo. */ + Data?: components["schemas"]["TaskResult"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ScheduledTaskEnded"; + }; + /** @description Scheduled tasks info message. */ + ScheduledTasksInfoMessage: { + /** @description Gets or sets the data. */ + Data?: components["schemas"]["TaskInfo"][] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ScheduledTasksInfo"; + }; + /** @description Scheduled tasks info start message. + * Data is the timing data encoded as "$initialDelay,$interval" in ms. */ + ScheduledTasksInfoStartMessage: { + /** @description Gets or sets the data. */ + Data?: string | null; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ScheduledTasksInfoStart"; + }; + /** @description Scheduled tasks info stop message. */ + ScheduledTasksInfoStopMessage: { + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ScheduledTasksInfoStop"; + }; + /** + * @description An enum representing the axis that should be scrolled. + * @enum {string} + */ + ScrollDirection: "Horizontal" | "Vertical"; + /** @description Class SearchHintResult. */ + SearchHint: { + /** + * Format: uuid + * @deprecated + * @description Gets or sets the item id. + */ + ItemId?: string; + /** + * Format: uuid + * @description Gets or sets the item id. + */ + Id?: string; + /** @description Gets or sets the name. */ + Name?: string; + /** @description Gets or sets the matched term. */ + MatchedTerm?: string | null; + /** + * Format: int32 + * @description Gets or sets the index number. + */ + IndexNumber?: number | null; + /** + * Format: int32 + * @description Gets or sets the production year. + */ + ProductionYear?: number | null; + /** + * Format: int32 + * @description Gets or sets the parent index number. + */ + ParentIndexNumber?: number | null; + /** @description Gets or sets the image tag. */ + PrimaryImageTag?: string | null; + /** @description Gets or sets the thumb image tag. */ + ThumbImageTag?: string | null; + /** @description Gets or sets the thumb image item identifier. */ + ThumbImageItemId?: string | null; + /** @description Gets or sets the backdrop image tag. */ + BackdropImageTag?: string | null; + /** @description Gets or sets the backdrop image item identifier. */ + BackdropImageItemId?: string | null; + /** + * @description Gets or sets the type. + * @enum {unknown} + */ + Type?: "AggregateFolder" | "Audio" | "AudioBook" | "BasePluginFolder" | "Book" | "BoxSet" | "Channel" | "ChannelFolderItem" | "CollectionFolder" | "Episode" | "Folder" | "Genre" | "ManualPlaylistsFolder" | "Movie" | "LiveTvChannel" | "LiveTvProgram" | "MusicAlbum" | "MusicArtist" | "MusicGenre" | "MusicVideo" | "Person" | "Photo" | "PhotoAlbum" | "Playlist" | "PlaylistsFolder" | "Program" | "Recording" | "Season" | "Series" | "Studio" | "Trailer" | "TvChannel" | "TvProgram" | "UserRootFolder" | "UserView" | "Video" | "Year"; + /** @description Gets or sets a value indicating whether this instance is folder. */ + IsFolder?: boolean | null; + /** + * Format: int64 + * @description Gets or sets the run time ticks. + */ + RunTimeTicks?: number | null; + /** + * @description Gets or sets the type of the media. + * @enum {unknown} + */ + MediaType?: "Unknown" | "Video" | "Audio" | "Photo" | "Book"; + /** + * Format: date-time + * @description Gets or sets the start date. + */ + StartDate?: string | null; + /** + * Format: date-time + * @description Gets or sets the end date. + */ + EndDate?: string | null; + /** @description Gets or sets the series. */ + Series?: string | null; + /** @description Gets or sets the status. */ + Status?: string | null; + /** @description Gets or sets the album. */ + Album?: string | null; + /** + * Format: uuid + * @description Gets or sets the album id. + */ + AlbumId?: string | null; + /** @description Gets or sets the album artist. */ + AlbumArtist?: string | null; + /** @description Gets or sets the artists. */ + Artists?: string[]; + /** + * Format: int32 + * @description Gets or sets the song count. + */ + SongCount?: number | null; + /** + * Format: int32 + * @description Gets or sets the episode count. + */ + EpisodeCount?: number | null; + /** + * Format: uuid + * @description Gets or sets the channel identifier. + */ + ChannelId?: string | null; + /** @description Gets or sets the name of the channel. */ + ChannelName?: string | null; + /** + * Format: double + * @description Gets or sets the primary image aspect ratio. + */ + PrimaryImageAspectRatio?: number | null; + }; + /** @description Class SearchHintResult. */ + SearchHintResult: { + /** @description Gets the search hints. */ + SearchHints?: components["schemas"]["SearchHint"][]; + /** + * Format: int32 + * @description Gets the total record count. + */ + TotalRecordCount?: number; + }; + /** @description Class SeekRequestDto. */ + SeekRequestDto: { + /** + * Format: int64 + * @description Gets or sets the position ticks. + */ + PositionTicks?: number; + }; + /** @description Class SendCommand. */ + SendCommand: { + /** + * Format: uuid + * @description Gets the group identifier. + */ + GroupId?: string; + /** + * Format: uuid + * @description Gets the playlist identifier of the playing item. + */ + PlaylistItemId?: string; + /** + * Format: date-time + * @description Gets or sets the UTC time when to execute the command. + */ + When?: string; + /** + * Format: int64 + * @description Gets the position ticks. + */ + PositionTicks?: number | null; + /** + * @description Gets the command. + * @enum {unknown} + */ + Command?: "Unpause" | "Pause" | "Stop" | "Seek"; + /** + * Format: date-time + * @description Gets the UTC time when this command has been emitted. + */ + EmittedAt?: string; + }; + /** + * @description Enum SendCommandType. + * @enum {string} + */ + SendCommandType: "Unpause" | "Pause" | "Stop" | "Seek"; + SeriesInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + }; + SeriesInfoRemoteSearchQuery: { + SearchInfo?: components["schemas"]["SeriesInfo"] | null; + /** Format: uuid */ + ItemId?: string; + /** @description Gets or sets the provider name to search within if set. */ + SearchProviderName?: string | null; + /** @description Gets or sets a value indicating whether disabled providers should be included. */ + IncludeDisabledProviders?: boolean; + }; + /** + * @description The status of a series. + * @enum {string} + */ + SeriesStatus: "Continuing" | "Ended" | "Unreleased"; + /** @description Series timer cancelled message. */ + SeriesTimerCancelledMessage: { + /** @description Gets or sets the data. */ + Data?: components["schemas"]["TimerEventInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "SeriesTimerCancelled"; + }; + /** @description Series timer created message. */ + SeriesTimerCreatedMessage: { + /** @description Gets or sets the data. */ + Data?: components["schemas"]["TimerEventInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "SeriesTimerCreated"; + }; + /** @description Class SeriesTimerInfoDto. */ + SeriesTimerInfoDto: { + /** @description Gets or sets the Id of the recording. */ + Id?: string | null; + Type?: string | null; + /** @description Gets or sets the server identifier. */ + ServerId?: string | null; + /** @description Gets or sets the external identifier. */ + ExternalId?: string | null; + /** + * Format: uuid + * @description Gets or sets the channel id of the recording. + */ + ChannelId?: string; + /** @description Gets or sets the external channel identifier. */ + ExternalChannelId?: string | null; + /** @description Gets or sets the channel name of the recording. */ + ChannelName?: string | null; + ChannelPrimaryImageTag?: string | null; + /** @description Gets or sets the program identifier. */ + ProgramId?: string | null; + /** @description Gets or sets the external program identifier. */ + ExternalProgramId?: string | null; + /** @description Gets or sets the name of the recording. */ + Name?: string | null; + /** @description Gets or sets the description of the recording. */ + Overview?: string | null; + /** + * Format: date-time + * @description Gets or sets the start date of the recording, in UTC. + */ + StartDate?: string; + /** + * Format: date-time + * @description Gets or sets the end date of the recording, in UTC. + */ + EndDate?: string; + /** @description Gets or sets the name of the service. */ + ServiceName?: string | null; + /** + * Format: int32 + * @description Gets or sets the priority. + */ + Priority?: number; + /** + * Format: int32 + * @description Gets or sets the pre padding seconds. + */ + PrePaddingSeconds?: number; + /** + * Format: int32 + * @description Gets or sets the post padding seconds. + */ + PostPaddingSeconds?: number; + /** @description Gets or sets a value indicating whether this instance is pre padding required. */ + IsPrePaddingRequired?: boolean; + /** @description Gets or sets the Id of the Parent that has a backdrop if the item does not have one. */ + ParentBackdropItemId?: string | null; + /** @description Gets or sets the parent backdrop image tags. */ + ParentBackdropImageTags?: string[] | null; + /** @description Gets or sets a value indicating whether this instance is post padding required. */ + IsPostPaddingRequired?: boolean; + /** @enum {unknown} */ + KeepUntil?: "UntilDeleted" | "UntilSpaceNeeded" | "UntilWatched" | "UntilDate"; + /** @description Gets or sets a value indicating whether [record any time]. */ + RecordAnyTime?: boolean; + SkipEpisodesInLibrary?: boolean; + /** @description Gets or sets a value indicating whether [record any channel]. */ + RecordAnyChannel?: boolean; + /** Format: int32 */ + KeepUpTo?: number; + /** @description Gets or sets a value indicating whether [record new only]. */ + RecordNewOnly?: boolean; + /** @description Gets or sets the days. */ + Days?: components["schemas"]["DayOfWeek"][] | null; + /** + * @description Gets or sets the day pattern. + * @enum {unknown|null} + */ + DayPattern?: "Daily" | "Weekdays" | "Weekends" | null; + /** @description Gets or sets the image tags. */ + ImageTags?: { + [key: string]: string; + } | null; + /** @description Gets or sets the parent thumb item id. */ + ParentThumbItemId?: string | null; + /** @description Gets or sets the parent thumb image tag. */ + ParentThumbImageTag?: string | null; + /** @description Gets or sets the parent primary image item identifier. */ + ParentPrimaryImageItemId?: string | null; + /** @description Gets or sets the parent primary image tag. */ + ParentPrimaryImageTag?: string | null; + }; + /** @description Query result container. */ + SeriesTimerInfoDtoQueryResult: { + /** @description Gets or sets the items. */ + Items?: components["schemas"]["SeriesTimerInfoDto"][]; + /** + * Format: int32 + * @description Gets or sets the total number of records available. + */ + TotalRecordCount?: number; + /** + * Format: int32 + * @description Gets or sets the index of the first record in Items. + */ + StartIndex?: number; + }; + /** @description Represents the server configuration. */ + ServerConfiguration: { + /** + * Format: int32 + * @description Gets or sets the number of days we should retain log files. + */ + LogFileRetentionDays?: number; + /** @description Gets or sets a value indicating whether this instance is first run. */ + IsStartupWizardCompleted?: boolean; + /** @description Gets or sets the cache path. */ + CachePath?: string | null; + /** @description Gets or sets the last known version that was ran using the configuration. */ + PreviousVersion?: string | null; + /** @description Gets or sets the stringified PreviousVersion to be stored/loaded, + * because System.Version itself isn't xml-serializable. */ + PreviousVersionStr?: string | null; + /** @description Gets or sets a value indicating whether to enable prometheus metrics exporting. */ + EnableMetrics?: boolean; + EnableNormalizedItemByNameIds?: boolean; + /** @description Gets or sets a value indicating whether this instance is port authorized. */ + IsPortAuthorized?: boolean; + /** @description Gets or sets a value indicating whether quick connect is available for use on this server. */ + QuickConnectAvailable?: boolean; + /** @description Gets or sets a value indicating whether [enable case sensitive item ids]. */ + EnableCaseSensitiveItemIds?: boolean; + DisableLiveTvChannelUserDataName?: boolean; + /** @description Gets or sets the metadata path. */ + MetadataPath?: string; + /** @description Gets or sets the preferred metadata language. */ + PreferredMetadataLanguage?: string; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string; + /** @description Gets or sets characters to be replaced with a ' ' in strings to create a sort name. */ + SortReplaceCharacters?: string[]; + /** @description Gets or sets characters to be removed from strings to create a sort name. */ + SortRemoveCharacters?: string[]; + /** @description Gets or sets words to be removed from strings to create a sort name. */ + SortRemoveWords?: string[]; + /** + * Format: int32 + * @description Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated. + */ + MinResumePct?: number; + /** + * Format: int32 + * @description Gets or sets the maximum percentage of an item that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + */ + MaxResumePct?: number; + /** + * Format: int32 + * @description Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates.. + */ + MinResumeDurationSeconds?: number; + /** + * Format: int32 + * @description Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated. + */ + MinAudiobookResume?: number; + /** + * Format: int32 + * @description Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + */ + MaxAudiobookResume?: number; + /** + * Format: int32 + * @description Gets or sets the threshold in minutes after a inactive session gets closed automatically. + * If set to 0 the check for inactive sessions gets disabled. + */ + InactiveSessionThreshold?: number; + /** + * Format: int32 + * @description Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed + * Some delay is necessary with some items because their creation is not atomic. It involves the creation of several + * different directories and files. + */ + LibraryMonitorDelay?: number; + /** + * Format: int32 + * @description Gets or sets the duration in seconds that we will wait after a library updated event before executing the library changed notification. + */ + LibraryUpdateDuration?: number; + /** + * @description Gets or sets the image saving convention. + * @enum {unknown} + */ + ImageSavingConvention?: "Legacy" | "Compatible"; + MetadataOptions?: components["schemas"]["MetadataOptions"][]; + SkipDeserializationForBasicTypes?: boolean; + ServerName?: string; + UICulture?: string; + SaveMetadataHidden?: boolean; + ContentTypes?: components["schemas"]["NameValuePair"][]; + /** Format: int32 */ + RemoteClientBitrateLimit?: number; + EnableFolderView?: boolean; + EnableGroupingIntoCollections?: boolean; + DisplaySpecialsWithinSeasons?: boolean; + CodecsUsed?: string[]; + PluginRepositories?: components["schemas"]["RepositoryInfo"][]; + EnableExternalContentInSuggestions?: boolean; + /** Format: int32 */ + ImageExtractionTimeoutMs?: number; + PathSubstitutions?: components["schemas"]["PathSubstitution"][]; + /** @description Gets or sets a value indicating whether slow server responses should be logged as a warning. */ + EnableSlowResponseWarning?: boolean; + /** + * Format: int64 + * @description Gets or sets the threshold for the slow response time warning in ms. + */ + SlowResponseThresholdMs?: number; + /** @description Gets or sets the cors hosts. */ + CorsHosts?: string[]; + /** + * Format: int32 + * @description Gets or sets the number of days we should retain activity logs. + */ + ActivityLogRetentionDays?: number | null; + /** + * Format: int32 + * @description Gets or sets the how the library scan fans out. + */ + LibraryScanFanoutConcurrency?: number; + /** + * Format: int32 + * @description Gets or sets the how many metadata refreshes can run concurrently. + */ + LibraryMetadataRefreshConcurrency?: number; + /** @description Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder. */ + RemoveOldPlugins?: boolean; + /** @description Gets or sets a value indicating whether clients should be allowed to upload logs. */ + AllowClientLogUpload?: boolean; + /** + * Format: int32 + * @description Gets or sets the dummy chapter duration in seconds, use 0 (zero) or less to disable generation alltogether. + */ + DummyChapterDuration?: number; + /** + * @description Gets or sets the chapter image resolution. + * @enum {unknown} + */ + ChapterImageResolution?: "MatchSource" | "P144" | "P240" | "P360" | "P480" | "P720" | "P1080" | "P1440" | "P2160"; + /** + * Format: int32 + * @description Gets or sets the limit for parallel image encoding. + */ + ParallelImageEncodingLimit?: number; + /** @description Gets or sets the list of cast receiver applications. */ + CastReceiverApplications?: components["schemas"]["CastReceiverApplication"][]; + /** @description Gets or sets the trickplay options. */ + TrickplayOptions?: components["schemas"]["TrickplayOptions"]; + }; + /** @description The server discovery info model. */ + ServerDiscoveryInfo: { + /** @description Gets the address. */ + Address?: string; + /** @description Gets the server identifier. */ + Id?: string; + /** @description Gets the name. */ + Name?: string; + /** @description Gets the endpoint address. */ + EndpointAddress?: string | null; + }; + /** @description Server restarting down message. */ + ServerRestartingMessage: { + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ServerRestarting"; + }; + /** @description Server shutting down message. */ + ServerShuttingDownMessage: { + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "ServerShuttingDown"; + }; + /** @description Session info DTO. */ + SessionInfoDto: { + /** @description Gets or sets the play state. */ + PlayState?: components["schemas"]["PlayerStateInfo"] | null; + /** @description Gets or sets the additional users. */ + AdditionalUsers?: components["schemas"]["SessionUserInfo"][] | null; + /** @description Gets or sets the client capabilities. */ + Capabilities?: components["schemas"]["ClientCapabilitiesDto"] | null; + /** @description Gets or sets the remote end point. */ + RemoteEndPoint?: string | null; + /** @description Gets or sets the playable media types. */ + PlayableMediaTypes?: components["schemas"]["MediaType"][]; + /** @description Gets or sets the id. */ + Id?: string | null; + /** + * Format: uuid + * @description Gets or sets the user id. + */ + UserId?: string; + /** @description Gets or sets the username. */ + UserName?: string | null; + /** @description Gets or sets the type of the client. */ + Client?: string | null; + /** + * Format: date-time + * @description Gets or sets the last activity date. + */ + LastActivityDate?: string; + /** + * Format: date-time + * @description Gets or sets the last playback check in. + */ + LastPlaybackCheckIn?: string; + /** + * Format: date-time + * @description Gets or sets the last paused date. + */ + LastPausedDate?: string | null; + /** @description Gets or sets the name of the device. */ + DeviceName?: string | null; + /** @description Gets or sets the type of the device. */ + DeviceType?: string | null; + /** @description Gets or sets the now playing item. */ + NowPlayingItem?: components["schemas"]["BaseItemDto"] | null; + /** @description Gets or sets the now viewing item. */ + NowViewingItem?: components["schemas"]["BaseItemDto"] | null; + /** @description Gets or sets the device id. */ + DeviceId?: string | null; + /** @description Gets or sets the application version. */ + ApplicationVersion?: string | null; + /** @description Gets or sets the transcoding info. */ + TranscodingInfo?: components["schemas"]["TranscodingInfo"] | null; + /** @description Gets or sets a value indicating whether this session is active. */ + IsActive?: boolean; + /** @description Gets or sets a value indicating whether the session supports media control. */ + SupportsMediaControl?: boolean; + /** @description Gets or sets a value indicating whether the session supports remote control. */ + SupportsRemoteControl?: boolean; + /** @description Gets or sets the now playing queue. */ + NowPlayingQueue?: components["schemas"]["QueueItem"][] | null; + /** @description Gets or sets the now playing queue full items. */ + NowPlayingQueueFullItems?: components["schemas"]["BaseItemDto"][] | null; + /** @description Gets or sets a value indicating whether the session has a custom device name. */ + HasCustomDeviceName?: boolean; + /** @description Gets or sets the playlist item id. */ + PlaylistItemId?: string | null; + /** @description Gets or sets the server id. */ + ServerId?: string | null; + /** @description Gets or sets the user primary image tag. */ + UserPrimaryImageTag?: string | null; + /** @description Gets or sets the supported commands. */ + SupportedCommands?: components["schemas"]["GeneralCommandType"][]; + }; + /** + * @description The different kinds of messages that are used in the WebSocket api. + * @enum {string} + */ + SessionMessageType: "ForceKeepAlive" | "GeneralCommand" | "UserDataChanged" | "Sessions" | "Play" | "SyncPlayCommand" | "SyncPlayGroupUpdate" | "Playstate" | "RestartRequired" | "ServerShuttingDown" | "ServerRestarting" | "LibraryChanged" | "UserDeleted" | "UserUpdated" | "SeriesTimerCreated" | "TimerCreated" | "SeriesTimerCancelled" | "TimerCancelled" | "RefreshProgress" | "ScheduledTaskEnded" | "PackageInstallationCancelled" | "PackageInstallationFailed" | "PackageInstallationCompleted" | "PackageInstalling" | "PackageUninstalled" | "ActivityLogEntry" | "ScheduledTasksInfo" | "ActivityLogEntryStart" | "ActivityLogEntryStop" | "SessionsStart" | "SessionsStop" | "ScheduledTasksInfoStart" | "ScheduledTasksInfoStop" | "KeepAlive"; + /** @description Sessions message. */ + SessionsMessage: { + /** @description Gets or sets the data. */ + Data?: components["schemas"]["SessionInfoDto"][] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "Sessions"; + }; + /** @description Sessions start message. + * Data is the timing data encoded as "$initialDelay,$interval" in ms. */ + SessionsStartMessage: { + /** @description Gets or sets the data. */ + Data?: string | null; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "SessionsStart"; + }; + /** @description Sessions stop message. */ + SessionsStopMessage: { + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "SessionsStop"; + }; + /** @description Class SessionUserInfo. */ + SessionUserInfo: { + /** + * Format: uuid + * @description Gets or sets the user identifier. + */ + UserId?: string; + /** @description Gets or sets the name of the user. */ + UserName?: string | null; + }; + /** @description Set channel mapping dto. */ + SetChannelMappingDto: { + /** @description Gets or sets the provider id. */ + ProviderId: string; + /** @description Gets or sets the tuner channel id. */ + TunerChannelId: string; + /** @description Gets or sets the provider channel id. */ + ProviderChannelId: string; + }; + /** @description Class SetPlaylistItemRequestDto. */ + SetPlaylistItemRequestDto: { + /** + * Format: uuid + * @description Gets or sets the playlist identifier of the playing item. + */ + PlaylistItemId?: string; + }; + /** @description Class SetRepeatModeRequestDto. */ + SetRepeatModeRequestDto: { + /** + * @description Gets or sets the repeat mode. + * @enum {unknown} + */ + Mode?: "RepeatOne" | "RepeatAll" | "RepeatNone"; + }; + /** @description Class SetShuffleModeRequestDto. */ + SetShuffleModeRequestDto: { + /** + * @description Gets or sets the shuffle mode. + * @enum {unknown} + */ + Mode?: "Sorted" | "Shuffle"; + }; + SongInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + AlbumArtists?: string[] | null; + Album?: string | null; + Artists?: string[] | null; + }; + /** + * @description An enum representing the sorting order. + * @enum {string} + */ + SortOrder: "Ascending" | "Descending"; + /** @description Special view option dto. */ + SpecialViewOptionDto: { + /** @description Gets or sets view option name. */ + Name?: string | null; + /** @description Gets or sets view option id. */ + Id?: string | null; + }; + /** @description The startup configuration DTO. */ + StartupConfigurationDto: { + /** @description Gets or sets UI language culture. */ + UICulture?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the preferred language for the metadata. */ + PreferredMetadataLanguage?: string | null; + }; + /** @description Startup remote access dto. */ + StartupRemoteAccessDto: { + /** @description Gets or sets a value indicating whether enable remote access. */ + EnableRemoteAccess: boolean; + /** @description Gets or sets a value indicating whether enable automatic port mapping. */ + EnableAutomaticPortMapping: boolean; + }; + /** @description The startup user DTO. */ + StartupUserDto: { + /** @description Gets or sets the username. */ + Name?: string | null; + /** @description Gets or sets the user's password. */ + Password?: string | null; + }; + /** @description Class GroupUpdate. */ + StringGroupUpdate: { + /** + * Format: uuid + * @description Gets the group identifier. + */ + readonly GroupId?: string; + /** + * @description Gets the update type. (enum property replaced by openapi-typescript) + * @enum {string} + */ + Type: "UserJoined" | "UserLeft" | "GroupLeft" | "NotInGroup" | "GroupDoesNotExist" | "LibraryAccessDenied"; + /** @description Gets the update data. */ + Data?: string; + }; + /** + * @description Delivery method to use during playback of a specific subtitle format. + * @enum {string} + */ + SubtitleDeliveryMethod: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + SubtitleOptions: { + SkipIfEmbeddedSubtitlesPresent?: boolean; + SkipIfAudioTrackMatches?: boolean; + DownloadLanguages?: string[] | null; + DownloadMovieSubtitles?: boolean; + DownloadEpisodeSubtitles?: boolean; + OpenSubtitlesUsername?: string | null; + OpenSubtitlesPasswordHash?: string | null; + IsOpenSubtitleVipAccount?: boolean; + RequirePerfectMatch?: boolean; + }; + /** + * @description An enum representing a subtitle playback mode. + * @enum {string} + */ + SubtitlePlaybackMode: "Default" | "Always" | "OnlyForced" | "None" | "Smart"; + /** @description A class for subtitle profile information. */ + SubtitleProfile: { + /** @description Gets or sets the format. */ + Format?: string | null; + /** + * @description Gets or sets the delivery method. + * @enum {unknown} + */ + Method?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Gets or sets the DIDL mode. */ + DidlMode?: string | null; + /** @description Gets or sets the language. */ + Language?: string | null; + /** @description Gets or sets the container. */ + Container?: string | null; + }; + /** @description Sync play command. */ + SyncPlayCommandMessage: { + /** @description Class SendCommand. */ + Data?: components["schemas"]["SendCommand"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "SyncPlayCommand"; + }; + /** @description Untyped sync play command. */ + SyncPlayGroupUpdateCommandMessage: { + /** @description Group update without data. */ + Data?: Omit | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "SyncPlayGroupUpdate"; + }; + /** @description Class QueueItem. */ + SyncPlayQueueItem: { + /** + * Format: uuid + * @description Gets the item identifier. + */ + ItemId?: string; + /** + * Format: uuid + * @description Gets the playlist identifier of the item. + */ + readonly PlaylistItemId?: string; + }; + /** + * @description Enum SyncPlayUserAccessType. + * @enum {string} + */ + SyncPlayUserAccessType: "CreateAndJoinGroups" | "JoinGroups" | "None"; + /** @description Class SystemInfo. */ + SystemInfo: { + /** @description Gets or sets the local address. */ + LocalAddress?: string | null; + /** @description Gets or sets the name of the server. */ + ServerName?: string | null; + /** @description Gets or sets the server version. */ + Version?: string | null; + /** @description Gets or sets the product name. This is the AssemblyProduct name. */ + ProductName?: string | null; + /** + * @deprecated + * @description Gets or sets the operating system. + */ + OperatingSystem?: string | null; + /** @description Gets or sets the id. */ + Id?: string | null; + /** @description Gets or sets a value indicating whether the startup wizard is completed. */ + StartupWizardCompleted?: boolean | null; + /** + * @deprecated + * @description Gets or sets the display name of the operating system. + */ + OperatingSystemDisplayName?: string | null; + /** @description Gets or sets the package name. */ + PackageName?: string | null; + /** @description Gets or sets a value indicating whether this instance has pending restart. */ + HasPendingRestart?: boolean; + IsShuttingDown?: boolean; + /** @description Gets or sets a value indicating whether [supports library monitor]. */ + SupportsLibraryMonitor?: boolean; + /** + * Format: int32 + * @description Gets or sets the web socket port number. + */ + WebSocketPortNumber?: number; + /** @description Gets or sets the completed installations. */ + CompletedInstallations?: components["schemas"]["InstallationInfo"][] | null; + /** + * @deprecated + * @description Gets or sets a value indicating whether this instance can self restart. + * @default true + */ + CanSelfRestart: boolean; + /** + * @deprecated + * @default false + */ + CanLaunchWebBrowser: boolean; + /** @description Gets or sets the program data path. */ + ProgramDataPath?: string | null; + /** @description Gets or sets the web UI resources path. */ + WebPath?: string | null; + /** @description Gets or sets the items by name path. */ + ItemsByNamePath?: string | null; + /** @description Gets or sets the cache path. */ + CachePath?: string | null; + /** @description Gets or sets the log path. */ + LogPath?: string | null; + /** @description Gets or sets the internal metadata path. */ + InternalMetadataPath?: string | null; + /** @description Gets or sets the transcode path. */ + TranscodingTempPath?: string | null; + /** @description Gets or sets the list of cast receiver applications. */ + CastReceiverApplications?: components["schemas"]["CastReceiverApplication"][] | null; + /** + * @deprecated + * @description Gets or sets a value indicating whether this instance has update available. + * @default false + */ + HasUpdateAvailable: boolean; + /** + * @deprecated + * @default System + */ + EncoderLocation: string; + /** + * @deprecated + * @default X64 + */ + SystemArchitecture: string; + }; + /** + * @description Enum TaskCompletionStatus. + * @enum {string} + */ + TaskCompletionStatus: "Completed" | "Failed" | "Cancelled" | "Aborted"; + /** @description Class TaskInfo. */ + TaskInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** + * @description Gets or sets the state of the task. + * @enum {unknown} + */ + State?: "Idle" | "Cancelling" | "Running"; + /** + * Format: double + * @description Gets or sets the progress. + */ + CurrentProgressPercentage?: number | null; + /** @description Gets or sets the id. */ + Id?: string | null; + /** @description Gets or sets the last execution result. */ + LastExecutionResult?: components["schemas"]["TaskResult"] | null; + /** @description Gets or sets the triggers. */ + Triggers?: components["schemas"]["TaskTriggerInfo"][] | null; + /** @description Gets or sets the description. */ + Description?: string | null; + /** @description Gets or sets the category. */ + Category?: string | null; + /** @description Gets or sets a value indicating whether this instance is hidden. */ + IsHidden?: boolean; + /** @description Gets or sets the key. */ + Key?: string | null; + }; + /** @description Class TaskExecutionInfo. */ + TaskResult: { + /** + * Format: date-time + * @description Gets or sets the start time UTC. + */ + StartTimeUtc?: string; + /** + * Format: date-time + * @description Gets or sets the end time UTC. + */ + EndTimeUtc?: string; + /** + * @description Gets or sets the status. + * @enum {unknown} + */ + Status?: "Completed" | "Failed" | "Cancelled" | "Aborted"; + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the key. */ + Key?: string | null; + /** @description Gets or sets the id. */ + Id?: string | null; + /** @description Gets or sets the error message. */ + ErrorMessage?: string | null; + /** @description Gets or sets the long error message. */ + LongErrorMessage?: string | null; + }; + /** + * @description Enum TaskState. + * @enum {string} + */ + TaskState: "Idle" | "Cancelling" | "Running"; + /** @description Class TaskTriggerInfo. */ + TaskTriggerInfo: { + /** @description Gets or sets the type. */ + Type?: string | null; + /** + * Format: int64 + * @description Gets or sets the time of day. + */ + TimeOfDayTicks?: number | null; + /** + * Format: int64 + * @description Gets or sets the interval. + */ + IntervalTicks?: number | null; + /** + * @description Gets or sets the day of week. + * @enum {unknown|null} + */ + DayOfWeek?: "Sunday" | "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | null; + /** + * Format: int64 + * @description Gets or sets the maximum runtime ticks. + */ + MaxRuntimeTicks?: number | null; + }; + /** @description Class ThemeMediaResult. */ + ThemeMediaResult: { + /** @description Gets or sets the items. */ + Items?: components["schemas"]["BaseItemDto"][]; + /** + * Format: int32 + * @description Gets or sets the total number of records available. + */ + TotalRecordCount?: number; + /** + * Format: int32 + * @description Gets or sets the index of the first record in Items. + */ + StartIndex?: number; + /** + * Format: uuid + * @description Gets or sets the owner id. + */ + OwnerId?: string; + }; + /** @description Timer cancelled message. */ + TimerCancelledMessage: { + /** @description Gets or sets the data. */ + Data?: components["schemas"]["TimerEventInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "TimerCancelled"; + }; + /** @description Timer created message. */ + TimerCreatedMessage: { + /** @description Gets or sets the data. */ + Data?: components["schemas"]["TimerEventInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "TimerCreated"; + }; + TimerEventInfo: { + Id?: string; + /** Format: uuid */ + ProgramId?: string | null; + }; + TimerInfoDto: { + /** @description Gets or sets the Id of the recording. */ + Id?: string | null; + Type?: string | null; + /** @description Gets or sets the server identifier. */ + ServerId?: string | null; + /** @description Gets or sets the external identifier. */ + ExternalId?: string | null; + /** + * Format: uuid + * @description Gets or sets the channel id of the recording. + */ + ChannelId?: string; + /** @description Gets or sets the external channel identifier. */ + ExternalChannelId?: string | null; + /** @description Gets or sets the channel name of the recording. */ + ChannelName?: string | null; + ChannelPrimaryImageTag?: string | null; + /** @description Gets or sets the program identifier. */ + ProgramId?: string | null; + /** @description Gets or sets the external program identifier. */ + ExternalProgramId?: string | null; + /** @description Gets or sets the name of the recording. */ + Name?: string | null; + /** @description Gets or sets the description of the recording. */ + Overview?: string | null; + /** + * Format: date-time + * @description Gets or sets the start date of the recording, in UTC. + */ + StartDate?: string; + /** + * Format: date-time + * @description Gets or sets the end date of the recording, in UTC. + */ + EndDate?: string; + /** @description Gets or sets the name of the service. */ + ServiceName?: string | null; + /** + * Format: int32 + * @description Gets or sets the priority. + */ + Priority?: number; + /** + * Format: int32 + * @description Gets or sets the pre padding seconds. + */ + PrePaddingSeconds?: number; + /** + * Format: int32 + * @description Gets or sets the post padding seconds. + */ + PostPaddingSeconds?: number; + /** @description Gets or sets a value indicating whether this instance is pre padding required. */ + IsPrePaddingRequired?: boolean; + /** @description Gets or sets the Id of the Parent that has a backdrop if the item does not have one. */ + ParentBackdropItemId?: string | null; + /** @description Gets or sets the parent backdrop image tags. */ + ParentBackdropImageTags?: string[] | null; + /** @description Gets or sets a value indicating whether this instance is post padding required. */ + IsPostPaddingRequired?: boolean; + /** @enum {unknown} */ + KeepUntil?: "UntilDeleted" | "UntilSpaceNeeded" | "UntilWatched" | "UntilDate"; + /** + * @description Gets or sets the status. + * @enum {unknown} + */ + Status?: "New" | "InProgress" | "Completed" | "Cancelled" | "ConflictedOk" | "ConflictedNotOk" | "Error"; + /** @description Gets or sets the series timer identifier. */ + SeriesTimerId?: string | null; + /** @description Gets or sets the external series timer identifier. */ + ExternalSeriesTimerId?: string | null; + /** + * Format: int64 + * @description Gets or sets the run time ticks. + */ + RunTimeTicks?: number | null; + /** @description Gets or sets the program information. */ + ProgramInfo?: components["schemas"]["BaseItemDto"] | null; + }; + /** @description Query result container. */ + TimerInfoDtoQueryResult: { + /** @description Gets or sets the items. */ + Items?: components["schemas"]["TimerInfoDto"][]; + /** + * Format: int32 + * @description Gets or sets the total number of records available. + */ + TotalRecordCount?: number; + /** + * Format: int32 + * @description Gets or sets the index of the first record in Items. + */ + StartIndex?: number; + }; + /** + * @description Enum containing tonemapping algorithms. + * @enum {string} + */ + TonemappingAlgorithm: "none" | "clip" | "linear" | "gamma" | "reinhard" | "hable" | "mobius" | "bt2390"; + /** + * @description Enum containing tonemapping modes. + * @enum {string} + */ + TonemappingMode: "auto" | "max" | "rgb" | "lum" | "itp"; + /** + * @description Enum containing tonemapping ranges. + * @enum {string} + */ + TonemappingRange: "auto" | "tv" | "pc"; + TrailerInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the original title. */ + OriginalTitle?: string | null; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets the metadata language. */ + MetadataLanguage?: string | null; + /** @description Gets or sets the metadata country code. */ + MetadataCountryCode?: string | null; + /** @description Gets or sets the provider ids. */ + ProviderIds?: { + [key: string]: string | null; + } | null; + /** + * Format: int32 + * @description Gets or sets the year. + */ + Year?: number | null; + /** Format: int32 */ + IndexNumber?: number | null; + /** Format: int32 */ + ParentIndexNumber?: number | null; + /** Format: date-time */ + PremiereDate?: string | null; + IsAutomated?: boolean; + }; + TrailerInfoRemoteSearchQuery: { + SearchInfo?: components["schemas"]["TrailerInfo"] | null; + /** Format: uuid */ + ItemId?: string; + /** @description Gets or sets the provider name to search within if set. */ + SearchProviderName?: string | null; + /** @description Gets or sets a value indicating whether disabled providers should be included. */ + IncludeDisabledProviders?: boolean; + }; + /** @enum {string} */ + TranscodeReason: "ContainerNotSupported" | "VideoCodecNotSupported" | "AudioCodecNotSupported" | "SubtitleCodecNotSupported" | "AudioIsExternal" | "SecondaryAudioNotSupported" | "VideoProfileNotSupported" | "VideoLevelNotSupported" | "VideoResolutionNotSupported" | "VideoBitDepthNotSupported" | "VideoFramerateNotSupported" | "RefFramesNotSupported" | "AnamorphicVideoNotSupported" | "InterlacedVideoNotSupported" | "AudioChannelsNotSupported" | "AudioProfileNotSupported" | "AudioSampleRateNotSupported" | "AudioBitDepthNotSupported" | "ContainerBitrateExceedsLimit" | "VideoBitrateNotSupported" | "AudioBitrateNotSupported" | "UnknownVideoStreamInfo" | "UnknownAudioStreamInfo" | "DirectPlayError" | "VideoRangeTypeNotSupported" | "VideoCodecTagNotSupported"; + /** @enum {string} */ + TranscodeSeekInfo: "Auto" | "Bytes"; + /** @description Class holding information on a runnning transcode. */ + TranscodingInfo: { + /** @description Gets or sets the thread count used for encoding. */ + AudioCodec?: string | null; + /** @description Gets or sets the thread count used for encoding. */ + VideoCodec?: string | null; + /** @description Gets or sets the thread count used for encoding. */ + Container?: string | null; + /** @description Gets or sets a value indicating whether the video is passed through. */ + IsVideoDirect?: boolean; + /** @description Gets or sets a value indicating whether the audio is passed through. */ + IsAudioDirect?: boolean; + /** + * Format: int32 + * @description Gets or sets the bitrate. + */ + Bitrate?: number | null; + /** + * Format: float + * @description Gets or sets the framerate. + */ + Framerate?: number | null; + /** + * Format: double + * @description Gets or sets the completion percentage. + */ + CompletionPercentage?: number | null; + /** + * Format: int32 + * @description Gets or sets the video width. + */ + Width?: number | null; + /** + * Format: int32 + * @description Gets or sets the video height. + */ + Height?: number | null; + /** + * Format: int32 + * @description Gets or sets the audio channels. + */ + AudioChannels?: number | null; + /** + * @description Gets or sets the hardware acceleration type. + * @enum {unknown|null} + */ + HardwareAccelerationType?: "none" | "amf" | "qsv" | "nvenc" | "v4l2m2m" | "vaapi" | "videotoolbox" | "rkmpp" | null; + /** + * @description Gets or sets the transcode reasons. + * @enum {array} + */ + TranscodeReasons?: "ContainerNotSupported" | "VideoCodecNotSupported" | "AudioCodecNotSupported" | "SubtitleCodecNotSupported" | "AudioIsExternal" | "SecondaryAudioNotSupported" | "VideoProfileNotSupported" | "VideoLevelNotSupported" | "VideoResolutionNotSupported" | "VideoBitDepthNotSupported" | "VideoFramerateNotSupported" | "RefFramesNotSupported" | "AnamorphicVideoNotSupported" | "InterlacedVideoNotSupported" | "AudioChannelsNotSupported" | "AudioProfileNotSupported" | "AudioSampleRateNotSupported" | "AudioBitDepthNotSupported" | "ContainerBitrateExceedsLimit" | "VideoBitrateNotSupported" | "AudioBitrateNotSupported" | "UnknownVideoStreamInfo" | "UnknownAudioStreamInfo" | "DirectPlayError" | "VideoRangeTypeNotSupported" | "VideoCodecTagNotSupported"; + }; + /** @description A class for transcoding profile information. + * Note for client developers: Conditions defined in MediaBrowser.Model.Dlna.CodecProfile has higher priority and can override values defined here. */ + TranscodingProfile: { + /** @description Gets or sets the container. */ + Container?: string; + /** + * @description Gets or sets the DLNA profile type. + * @enum {unknown} + */ + Type?: "Audio" | "Video" | "Photo" | "Subtitle" | "Lyric"; + /** @description Gets or sets the video codec. */ + VideoCodec?: string; + /** @description Gets or sets the audio codec. */ + AudioCodec?: string; + /** + * @description Gets or sets the protocol. + * @enum {unknown} + */ + Protocol?: "http" | "hls"; + /** + * @description Gets or sets a value indicating whether the content length should be estimated. + * @default false + */ + EstimateContentLength: boolean; + /** + * @description Gets or sets a value indicating whether M2TS mode is enabled. + * @default false + */ + EnableMpegtsM2TsMode: boolean; + /** + * @description Gets or sets the transcoding seek info mode. + * @default Auto + * @enum {unknown} + */ + TranscodeSeekInfo: "Auto" | "Bytes"; + /** + * @description Gets or sets a value indicating whether timestamps should be copied. + * @default false + */ + CopyTimestamps: boolean; + /** + * @description Gets or sets the encoding context. + * @default Streaming + * @enum {unknown} + */ + Context: "Streaming" | "Static"; + /** + * @description Gets or sets a value indicating whether subtitles are allowed in the manifest. + * @default false + */ + EnableSubtitlesInManifest: boolean; + /** @description Gets or sets the maximum audio channels. */ + MaxAudioChannels?: string | null; + /** + * Format: int32 + * @description Gets or sets the minimum amount of segments. + * @default 0 + */ + MinSegments: number; + /** + * Format: int32 + * @description Gets or sets the segment length. + * @default 0 + */ + SegmentLength: number; + /** + * @description Gets or sets a value indicating whether breaking the video stream on non-keyframes is supported. + * @default false + */ + BreakOnNonKeyFrames: boolean; + /** @description Gets or sets the profile conditions. */ + Conditions?: components["schemas"]["ProfileCondition"][]; + /** + * @description Gets or sets a value indicating whether variable bitrate encoding is supported. + * @default true + */ + EnableAudioVbrEncoding: boolean; + }; + /** @enum {string} */ + TransportStreamTimestamp: "None" | "Zero" | "Valid"; + /** @description An entity representing the metadata for a group of trickplay tiles. */ + TrickplayInfo: { + /** + * Format: int32 + * @description Gets or sets width of an individual thumbnail. + */ + Width?: number; + /** + * Format: int32 + * @description Gets or sets height of an individual thumbnail. + */ + Height?: number; + /** + * Format: int32 + * @description Gets or sets amount of thumbnails per row. + */ + TileWidth?: number; + /** + * Format: int32 + * @description Gets or sets amount of thumbnails per column. + */ + TileHeight?: number; + /** + * Format: int32 + * @description Gets or sets total amount of non-black thumbnails. + */ + ThumbnailCount?: number; + /** + * Format: int32 + * @description Gets or sets interval in milliseconds between each trickplay thumbnail. + */ + Interval?: number; + /** + * Format: int32 + * @description Gets or sets peak bandwith usage in bits per second. + */ + Bandwidth?: number; + }; + /** @description Class TrickplayOptions. */ + TrickplayOptions: { + /** @description Gets or sets a value indicating whether or not to use HW acceleration. */ + EnableHwAcceleration?: boolean; + /** @description Gets or sets a value indicating whether or not to use HW accelerated MJPEG encoding. */ + EnableHwEncoding?: boolean; + /** @description Gets or sets a value indicating whether to only extract key frames. + * Significantly faster, but is not compatible with all decoders and/or video files. */ + EnableKeyFrameOnlyExtraction?: boolean; + /** + * @description Gets or sets the behavior used by trickplay provider on library scan/update. + * @enum {unknown} + */ + ScanBehavior?: "Blocking" | "NonBlocking"; + /** + * @description Gets or sets the process priority for the ffmpeg process. + * @enum {unknown} + */ + ProcessPriority?: "Normal" | "Idle" | "High" | "RealTime" | "BelowNormal" | "AboveNormal"; + /** + * Format: int32 + * @description Gets or sets the interval, in ms, between each new trickplay image. + */ + Interval?: number; + /** @description Gets or sets the target width resolutions, in px, to generates preview images for. */ + WidthResolutions?: number[]; + /** + * Format: int32 + * @description Gets or sets number of tile images to allow in X dimension. + */ + TileWidth?: number; + /** + * Format: int32 + * @description Gets or sets number of tile images to allow in Y dimension. + */ + TileHeight?: number; + /** + * Format: int32 + * @description Gets or sets the ffmpeg output quality level. + */ + Qscale?: number; + /** + * Format: int32 + * @description Gets or sets the jpeg quality to use for image tiles. + */ + JpegQuality?: number; + /** + * Format: int32 + * @description Gets or sets the number of threads to be used by ffmpeg. + */ + ProcessThreads?: number; + }; + /** + * @description Enum TrickplayScanBehavior. + * @enum {string} + */ + TrickplayScanBehavior: "Blocking" | "NonBlocking"; + TunerChannelMapping: { + Name?: string | null; + ProviderChannelName?: string | null; + ProviderChannelId?: string | null; + Id?: string | null; + }; + TunerHostInfo: { + Id?: string | null; + Url?: string | null; + Type?: string | null; + DeviceId?: string | null; + FriendlyName?: string | null; + ImportFavoritesOnly?: boolean; + AllowHWTranscoding?: boolean; + AllowFmp4TranscodingContainer?: boolean; + AllowStreamSharing?: boolean; + /** Format: int32 */ + FallbackMaxStreamingBitrate?: number; + EnableStreamLooping?: boolean; + Source?: string | null; + /** Format: int32 */ + TunerCount?: number; + UserAgent?: string | null; + IgnoreDts?: boolean; + }; + TypeOptions: { + Type?: string | null; + MetadataFetchers?: string[] | null; + MetadataFetcherOrder?: string[] | null; + ImageFetchers?: string[] | null; + ImageFetcherOrder?: string[] | null; + ImageOptions?: components["schemas"]["ImageOption"][] | null; + }; + /** + * @description An enum representing an unrated item. + * @enum {string} + */ + UnratedItem: "Movie" | "Trailer" | "Series" | "Music" | "Book" | "LiveTvChannel" | "LiveTvProgram" | "ChannelContent" | "Other"; + /** @description Update library options dto. */ + UpdateLibraryOptionsDto: { + /** + * Format: uuid + * @description Gets or sets the library item id. + */ + Id?: string; + /** @description Gets or sets library options. */ + LibraryOptions?: components["schemas"]["LibraryOptions"] | null; + }; + /** @description Update library options dto. */ + UpdateMediaPathRequestDto: { + /** @description Gets or sets the library name. */ + Name: string; + /** @description Gets or sets library folder path information. */ + PathInfo: components["schemas"]["MediaPathInfo"]; + }; + /** @description Update existing playlist dto. Fields set to `null` will not be updated and keep their current values. */ + UpdatePlaylistDto: { + /** @description Gets or sets the name of the new playlist. */ + Name?: string | null; + /** @description Gets or sets item ids of the playlist. */ + Ids?: string[] | null; + /** @description Gets or sets the playlist users. */ + Users?: components["schemas"]["PlaylistUserPermissions"][] | null; + /** @description Gets or sets a value indicating whether the playlist is public. */ + IsPublic?: boolean | null; + }; + /** @description Update existing playlist user dto. Fields set to `null` will not be updated and keep their current values. */ + UpdatePlaylistUserDto: { + /** @description Gets or sets a value indicating whether the user can edit the playlist. */ + CanEdit?: boolean | null; + }; + /** @description This is used by the api to get information about a item user data. */ + UpdateUserItemDataDto: { + /** + * Format: double + * @description Gets or sets the rating. + */ + Rating?: number | null; + /** + * Format: double + * @description Gets or sets the played percentage. + */ + PlayedPercentage?: number | null; + /** + * Format: int32 + * @description Gets or sets the unplayed item count. + */ + UnplayedItemCount?: number | null; + /** + * Format: int64 + * @description Gets or sets the playback position ticks. + */ + PlaybackPositionTicks?: number | null; + /** + * Format: int32 + * @description Gets or sets the play count. + */ + PlayCount?: number | null; + /** @description Gets or sets a value indicating whether this instance is favorite. */ + IsFavorite?: boolean | null; + /** @description Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UpdateUserItemDataDto is likes. */ + Likes?: boolean | null; + /** + * Format: date-time + * @description Gets or sets the last played date. + */ + LastPlayedDate?: string | null; + /** @description Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. */ + Played?: boolean | null; + /** @description Gets or sets the key. */ + Key?: string | null; + /** @description Gets or sets the item identifier. */ + ItemId?: string | null; + }; + /** @description The update user password request body. */ + UpdateUserPassword: { + /** @description Gets or sets the current sha1-hashed password. */ + CurrentPassword?: string | null; + /** @description Gets or sets the current plain text password. */ + CurrentPw?: string | null; + /** @description Gets or sets the new plain text password. */ + NewPw?: string | null; + /** @description Gets or sets a value indicating whether to reset the password. */ + ResetPassword?: boolean; + }; + /** @description Upload subtitles dto. */ + UploadSubtitleDto: { + /** @description Gets or sets the subtitle language. */ + Language: string; + /** @description Gets or sets the subtitle format. */ + Format: string; + /** @description Gets or sets a value indicating whether the subtitle is forced. */ + IsForced: boolean; + /** @description Gets or sets a value indicating whether the subtitle is for hearing impaired. */ + IsHearingImpaired: boolean; + /** @description Gets or sets the subtitle data. */ + Data: string; + }; + /** @description Class UserConfiguration. */ + UserConfiguration: { + /** @description Gets or sets the audio language preference. */ + AudioLanguagePreference?: string | null; + /** @description Gets or sets a value indicating whether [play default audio track]. */ + PlayDefaultAudioTrack?: boolean; + /** @description Gets or sets the subtitle language preference. */ + SubtitleLanguagePreference?: string | null; + DisplayMissingEpisodes?: boolean; + GroupedFolders?: string[]; + /** + * @description An enum representing a subtitle playback mode. + * @enum {unknown} + */ + SubtitleMode?: "Default" | "Always" | "OnlyForced" | "None" | "Smart"; + DisplayCollectionsView?: boolean; + EnableLocalPassword?: boolean; + OrderedViews?: string[]; + LatestItemsExcludes?: string[]; + MyMediaExcludes?: string[]; + HidePlayedInLatest?: boolean; + RememberAudioSelections?: boolean; + RememberSubtitleSelections?: boolean; + EnableNextEpisodeAutoPlay?: boolean; + /** @description Gets or sets the id of the selected cast receiver. */ + CastReceiverId?: string | null; + }; + /** @description User data changed message. */ + UserDataChangedMessage: { + /** @description Class UserDataChangeInfo. */ + Data?: components["schemas"]["UserDataChangeInfo"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "UserDataChanged"; + }; + /** @description Class UserDataChangeInfo. */ + UserDataChangeInfo: { + /** + * Format: uuid + * @description Gets or sets the user id. + */ + UserId?: string; + /** @description Gets or sets the user data list. */ + UserDataList?: components["schemas"]["UserItemDataDto"][]; + }; + /** @description User deleted message. */ + UserDeletedMessage: { + /** + * Format: uuid + * @description Gets or sets the data. + */ + Data?: string; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "UserDeleted"; + }; + /** @description Class UserDto. */ + UserDto: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the server identifier. */ + ServerId?: string | null; + /** @description Gets or sets the name of the server. + * This is not used by the server and is for client-side usage only. */ + ServerName?: string | null; + /** + * Format: uuid + * @description Gets or sets the id. + */ + Id?: string; + /** @description Gets or sets the primary image tag. */ + PrimaryImageTag?: string | null; + /** @description Gets or sets a value indicating whether this instance has password. */ + HasPassword?: boolean; + /** @description Gets or sets a value indicating whether this instance has configured password. */ + HasConfiguredPassword?: boolean; + /** + * @deprecated + * @description Gets or sets a value indicating whether this instance has configured easy password. + */ + HasConfiguredEasyPassword?: boolean; + /** @description Gets or sets whether async login is enabled or not. */ + EnableAutoLogin?: boolean | null; + /** + * Format: date-time + * @description Gets or sets the last login date. + */ + LastLoginDate?: string | null; + /** + * Format: date-time + * @description Gets or sets the last activity date. + */ + LastActivityDate?: string | null; + /** @description Gets or sets the configuration. */ + Configuration?: components["schemas"]["UserConfiguration"] | null; + /** @description Gets or sets the policy. */ + Policy?: components["schemas"]["UserPolicy"] | null; + /** + * Format: double + * @description Gets or sets the primary image aspect ratio. + */ + PrimaryImageAspectRatio?: number | null; + }; + /** @description Class UserItemDataDto. */ + UserItemDataDto: { + /** + * Format: double + * @description Gets or sets the rating. + */ + Rating?: number | null; + /** + * Format: double + * @description Gets or sets the played percentage. + */ + PlayedPercentage?: number | null; + /** + * Format: int32 + * @description Gets or sets the unplayed item count. + */ + UnplayedItemCount?: number | null; + /** + * Format: int64 + * @description Gets or sets the playback position ticks. + */ + PlaybackPositionTicks?: number; + /** + * Format: int32 + * @description Gets or sets the play count. + */ + PlayCount?: number; + /** @description Gets or sets a value indicating whether this instance is favorite. */ + IsFavorite?: boolean; + /** @description Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes. */ + Likes?: boolean | null; + /** + * Format: date-time + * @description Gets or sets the last played date. + */ + LastPlayedDate?: string | null; + /** @description Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. */ + Played?: boolean; + /** @description Gets or sets the key. */ + Key?: string; + /** + * Format: uuid + * @description Gets or sets the item identifier. + */ + ItemId?: string; + }; + UserPolicy: { + /** @description Gets or sets a value indicating whether this instance is administrator. */ + IsAdministrator?: boolean; + /** @description Gets or sets a value indicating whether this instance is hidden. */ + IsHidden?: boolean; + /** + * @description Gets or sets a value indicating whether this instance can manage collections. + * @default false + */ + EnableCollectionManagement: boolean; + /** + * @description Gets or sets a value indicating whether this instance can manage subtitles. + * @default false + */ + EnableSubtitleManagement: boolean; + /** + * @description Gets or sets a value indicating whether this user can manage lyrics. + * @default false + */ + EnableLyricManagement: boolean; + /** @description Gets or sets a value indicating whether this instance is disabled. */ + IsDisabled?: boolean; + /** + * Format: int32 + * @description Gets or sets the max parental rating. + */ + MaxParentalRating?: number | null; + BlockedTags?: string[] | null; + AllowedTags?: string[] | null; + EnableUserPreferenceAccess?: boolean; + AccessSchedules?: components["schemas"]["AccessSchedule"][] | null; + BlockUnratedItems?: components["schemas"]["UnratedItem"][] | null; + EnableRemoteControlOfOtherUsers?: boolean; + EnableSharedDeviceControl?: boolean; + EnableRemoteAccess?: boolean; + EnableLiveTvManagement?: boolean; + EnableLiveTvAccess?: boolean; + EnableMediaPlayback?: boolean; + EnableAudioPlaybackTranscoding?: boolean; + EnableVideoPlaybackTranscoding?: boolean; + EnablePlaybackRemuxing?: boolean; + ForceRemoteSourceTranscoding?: boolean; + EnableContentDeletion?: boolean; + EnableContentDeletionFromFolders?: string[] | null; + EnableContentDownloading?: boolean; + /** @description Gets or sets a value indicating whether [enable synchronize]. */ + EnableSyncTranscoding?: boolean; + EnableMediaConversion?: boolean; + EnabledDevices?: string[] | null; + EnableAllDevices?: boolean; + EnabledChannels?: string[] | null; + EnableAllChannels?: boolean; + EnabledFolders?: string[] | null; + EnableAllFolders?: boolean; + /** Format: int32 */ + InvalidLoginAttemptCount?: number; + /** Format: int32 */ + LoginAttemptsBeforeLockout?: number; + /** Format: int32 */ + MaxActiveSessions?: number; + EnablePublicSharing?: boolean; + BlockedMediaFolders?: string[] | null; + BlockedChannels?: string[] | null; + /** Format: int32 */ + RemoteClientBitrateLimit?: number; + AuthenticationProviderId: string; + PasswordResetProviderId: string; + /** + * @description Gets or sets a value indicating what SyncPlay features the user can access. + * @enum {unknown} + */ + SyncPlayAccess?: "CreateAndJoinGroups" | "JoinGroups" | "None"; + }; + /** @description User updated message. */ + UserUpdatedMessage: { + /** @description Class UserDto. */ + Data?: components["schemas"]["UserDto"] | null; + /** + * Format: uuid + * @description Gets or sets the message id. + */ + MessageId?: string; + /** + * @description The different kinds of messages that are used in the WebSocket api. (enum property replaced by openapi-typescript) + * @enum {string} + */ + MessageType: "UserUpdated"; + }; + /** @description Class UtcTimeResponse. */ + UtcTimeResponse: { + /** + * Format: date-time + * @description Gets the UTC time when request has been received. + */ + RequestReceptionTime?: string; + /** + * Format: date-time + * @description Gets the UTC time when response has been sent. + */ + ResponseTransmissionTime?: string; + }; + /** @description Validate path object. */ + ValidatePathDto: { + /** @description Gets or sets a value indicating whether validate if path is writable. */ + ValidateWritable?: boolean; + /** @description Gets or sets the path. */ + Path?: string | null; + /** @description Gets or sets is path file. */ + IsFile?: boolean | null; + }; + /** @description Defines the MediaBrowser.Model.Updates.VersionInfo class. */ + VersionInfo: { + /** @description Gets or sets the version. */ + version?: string; + /** @description Gets the version as a System.Version. */ + readonly VersionNumber?: string; + /** @description Gets or sets the changelog for this version. */ + changelog?: string | null; + /** @description Gets or sets the ABI that this version was built against. */ + targetAbi?: string | null; + /** @description Gets or sets the source URL. */ + sourceUrl?: string | null; + /** @description Gets or sets a checksum for the binary. */ + checksum?: string | null; + /** @description Gets or sets a timestamp of when the binary was built. */ + timestamp?: string | null; + /** @description Gets or sets the repository name. */ + repositoryName?: string; + /** @description Gets or sets the repository url. */ + repositoryUrl?: string; + }; + /** @enum {string} */ + Video3DFormat: "HalfSideBySide" | "FullSideBySide" | "FullTopAndBottom" | "HalfTopAndBottom" | "MVC"; + /** + * @description An enum representing video ranges. + * @enum {string} + */ + VideoRange: "Unknown" | "SDR" | "HDR"; + /** + * @description An enum representing types of video ranges. + * @enum {string} + */ + VideoRangeType: "Unknown" | "SDR" | "HDR10" | "HLG" | "DOVI" | "DOVIWithHDR10" | "DOVIWithHLG" | "DOVIWithSDR" | "HDR10Plus"; + /** + * @description Enum VideoType. + * @enum {string} + */ + VideoType: "VideoFile" | "Iso" | "Dvd" | "BluRay"; + /** @description Used to hold information about a user's list of configured virtual folders. */ + VirtualFolderInfo: { + /** @description Gets or sets the name. */ + Name?: string | null; + /** @description Gets or sets the locations. */ + Locations?: string[] | null; + /** + * @description Gets or sets the type of the collection. + * @enum {unknown|null} + */ + CollectionType?: "movies" | "tvshows" | "music" | "musicvideos" | "homevideos" | "boxsets" | "books" | "mixed" | null; + LibraryOptions?: components["schemas"]["LibraryOptions"] | null; + /** @description Gets or sets the item identifier. */ + ItemId?: string | null; + /** @description Gets or sets the primary image item identifier. */ + PrimaryImageItemId?: string | null; + /** Format: double */ + RefreshProgress?: number | null; + RefreshStatus?: string | null; + }; + /** @description Provides the MAC address and port for wake-on-LAN functionality. */ + WakeOnLanInfo: { + /** @description Gets the MAC address of the device. */ + MacAddress?: string | null; + /** + * Format: int32 + * @description Gets or sets the wake-on-LAN port. + */ + Port?: number; + }; + /** @description Represents the possible websocket types */ + WebSocketMessage: components["schemas"]["InboundWebSocketMessage"] | components["schemas"]["OutboundWebSocketMessage"]; + XbmcMetadataOptions: { + UserId?: string | null; + ReleaseDateFormat?: string; + SaveImagePathsInNfo?: boolean; + EnablePathSubstitution?: boolean; + EnableExtraThumbsDuplication?: boolean; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + GetLogEntries: { + parameters: { + query?: { + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. The minimum date. Format = ISO. */ + minDate?: string; + /** @description Optional. Filter log entries if it has user id, or not. */ + hasUserId?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Activity log returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ActivityLogEntryQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ActivityLogEntryQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ActivityLogEntryQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetKeys: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Api keys retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AuthenticationInfoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["AuthenticationInfoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["AuthenticationInfoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + CreateKey: { + parameters: { + query: { + /** @description Name of the app using the authentication key. */ + app: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Api key created. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + RevokeKey: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The access token to delete. */ + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Api key deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetArtists: { + parameters: { + query?: { + /** @description Optional filter by minimum community rating. */ + minCommunityRating?: number; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Search term. */ + searchTerm?: string; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. Specify additional filters to apply. */ + filters?: components["schemas"]["ItemFilter"][]; + /** @description Optional filter by items that are marked as favorite, or not. */ + isFavorite?: boolean; + /** @description Optional filter by MediaType. Allows multiple, comma delimited. */ + mediaTypes?: components["schemas"]["MediaType"][]; + /** @description Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. */ + genres?: string[]; + /** @description Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. */ + genreIds?: string[]; + /** @description Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. */ + officialRatings?: string[]; + /** @description Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. */ + tags?: string[]; + /** @description Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. */ + years?: number[]; + /** @description Optional, include user data. */ + enableUserData?: boolean; + /** @description Optional, the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified person. */ + person?: string; + /** @description Optional. If specified, results will be filtered to include only those containing the specified person ids. */ + personIds?: string[]; + /** @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. */ + personTypes?: string[]; + /** @description Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. */ + studios?: string[]; + /** @description Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. */ + studioIds?: string[]; + /** @description User id. */ + userId?: string; + /** @description Optional filter by items whose name is sorted equally or greater than a given input string. */ + nameStartsWithOrGreater?: string; + /** @description Optional filter by items whose name is sorted equally than a given input string. */ + nameStartsWith?: string; + /** @description Optional filter by items whose name is equally or lesser than a given input string. */ + nameLessThan?: string; + /** @description Optional. Specify one or more sort orders, comma delimited. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Sort Order - Ascending,Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + /** @description Optional, include image information in output. */ + enableImages?: boolean; + /** @description Total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Artists returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetArtistByName: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description Studio name. */ + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Artist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetAlbumArtists: { + parameters: { + query?: { + /** @description Optional filter by minimum community rating. */ + minCommunityRating?: number; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Search term. */ + searchTerm?: string; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. Specify additional filters to apply. */ + filters?: components["schemas"]["ItemFilter"][]; + /** @description Optional filter by items that are marked as favorite, or not. */ + isFavorite?: boolean; + /** @description Optional filter by MediaType. Allows multiple, comma delimited. */ + mediaTypes?: components["schemas"]["MediaType"][]; + /** @description Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. */ + genres?: string[]; + /** @description Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. */ + genreIds?: string[]; + /** @description Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. */ + officialRatings?: string[]; + /** @description Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. */ + tags?: string[]; + /** @description Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. */ + years?: number[]; + /** @description Optional, include user data. */ + enableUserData?: boolean; + /** @description Optional, the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified person. */ + person?: string; + /** @description Optional. If specified, results will be filtered to include only those containing the specified person ids. */ + personIds?: string[]; + /** @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. */ + personTypes?: string[]; + /** @description Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. */ + studios?: string[]; + /** @description Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. */ + studioIds?: string[]; + /** @description User id. */ + userId?: string; + /** @description Optional filter by items whose name is sorted equally or greater than a given input string. */ + nameStartsWithOrGreater?: string; + /** @description Optional filter by items whose name is sorted equally than a given input string. */ + nameStartsWith?: string; + /** @description Optional filter by items whose name is equally or lesser than a given input string. */ + nameLessThan?: string; + /** @description Optional. Specify one or more sort orders, comma delimited. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Sort Order - Ascending,Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + /** @description Optional, include image information in output. */ + enableImages?: boolean; + /** @description Total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Album artists returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetAudioStream: { + parameters: { + query?: { + /** @description The audio container. */ + container?: string; + /** @description Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Audio stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "audio/*": string; + }; + }; + }; + }; + HeadAudioStream: { + parameters: { + query?: { + /** @description The audio container. */ + container?: string; + /** @description Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Audio stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "audio/*": string; + }; + }; + }; + }; + GetAudioStreamByContainer: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamporphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The audio container. */ + container: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Audio stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "audio/*": string; + }; + }; + }; + }; + HeadAudioStreamByContainer: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamporphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The audio container. */ + container: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Audio stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "audio/*": string; + }; + }; + }; + }; + GetBrandingOptions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Branding configuration returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BrandingOptions"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BrandingOptions"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BrandingOptions"]; + }; + }; + }; + }; + GetBrandingCss: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Branding css returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/css": string; + "application/json": string; + "application/json; profile=\"CamelCase\"": string; + "application/json; profile=\"PascalCase\"": string; + }; + }; + /** @description No branding css configured. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetBrandingCss_2: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Branding css returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/css": string; + "application/json": string; + "application/json; profile=\"CamelCase\"": string; + "application/json; profile=\"PascalCase\"": string; + }; + }; + /** @description No branding css configured. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetChannels: { + parameters: { + query?: { + /** @description User Id to filter by. Use System.Guid.Empty to not filter by user. */ + userId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Filter by channels that support getting latest items. */ + supportsLatestItems?: boolean; + /** @description Optional. Filter by channels that support media deletion. */ + supportsMediaDeletion?: boolean; + /** @description Optional. Filter by channels that are favorite. */ + isFavorite?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Channels returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetChannelFeatures: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Channel id. */ + channelId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Channel features returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChannelFeatures"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ChannelFeatures"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ChannelFeatures"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetChannelItems: { + parameters: { + query?: { + /** @description Optional. Folder Id. */ + folderId?: string; + /** @description Optional. User Id. */ + userId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Sort Order - Ascending,Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + /** @description Optional. Specify additional filters to apply. */ + filters?: components["schemas"]["ItemFilter"][]; + /** @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. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + }; + header?: never; + path: { + /** @description Channel Id. */ + channelId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Channel items returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetAllChannelFeatures: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description All channel features returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChannelFeatures"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ChannelFeatures"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ChannelFeatures"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLatestChannelItems: { + parameters: { + query?: { + /** @description Optional. User Id. */ + userId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional filters to apply. */ + filters?: components["schemas"]["ItemFilter"][]; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Specify one or more channel id's, comma delimited. */ + channelIds?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Latest channel items returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + LogFile: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "text/plain": string; + }; + }; + responses: { + /** @description Document saved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ClientLogDocumentResponseDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ClientLogDocumentResponseDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ClientLogDocumentResponseDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Event logging disabled. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Upload size too large. */ + 413: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + CreateCollection: { + parameters: { + query?: { + /** @description The name of the collection. */ + name?: string; + /** @description Item Ids to add to the collection. */ + ids?: string[]; + /** @description Optional. Create the collection within a specific folder. */ + parentId?: string; + /** @description Whether or not to lock the new collection. */ + isLocked?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Collection created. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionCreationResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["CollectionCreationResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["CollectionCreationResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + AddToCollection: { + parameters: { + query: { + /** @description Item ids, comma delimited. */ + ids: string[]; + }; + header?: never; + path: { + /** @description The collection id. */ + collectionId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Items added to collection. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + RemoveFromCollection: { + parameters: { + query: { + /** @description Item ids, comma delimited. */ + ids: string[]; + }; + header?: never; + path: { + /** @description The collection id. */ + collectionId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Items removed from collection. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetConfiguration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Application configuration returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ServerConfiguration"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ServerConfiguration"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ServerConfiguration"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateConfiguration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Configuration. */ + requestBody: { + content: { + "application/json": components["schemas"]["ServerConfiguration"]; + "text/json": components["schemas"]["ServerConfiguration"]; + "application/*+json": components["schemas"]["ServerConfiguration"]; + }; + }; + responses: { + /** @description Configuration updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetNamedConfiguration: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Configuration key. */ + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Configuration returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateNamedConfiguration: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Configuration key. */ + key: string; + }; + cookie?: never; + }; + /** @description Configuration. */ + requestBody: { + content: { + "application/json": unknown; + "text/json": unknown; + "application/*+json": unknown; + }; + }; + responses: { + /** @description Named configuration updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetDefaultMetadataOptions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metadata options returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataOptions"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["MetadataOptions"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["MetadataOptions"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetDashboardConfigurationPage: { + parameters: { + query?: { + /** @description The name of the page. */ + name?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description ConfigurationPage returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/html": string; + "application/x-javascript": string; + }; + }; + /** @description Plugin configuration page not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetConfigurationPages: { + parameters: { + query?: { + /** @description Whether to enable in the main menu. */ + enableInMainMenu?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description ConfigurationPages returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ConfigurationPageInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ConfigurationPageInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ConfigurationPageInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Server still loading. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetDevices: { + parameters: { + query?: { + /** @description Gets or sets the user identifier. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Devices retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DeviceInfoDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["DeviceInfoDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["DeviceInfoDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DeleteDevice: { + parameters: { + query: { + /** @description Device Id. */ + id: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Device deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Device not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetDeviceInfo: { + parameters: { + query: { + /** @description Device Id. */ + id: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Device info retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DeviceInfoDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["DeviceInfoDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["DeviceInfoDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Device not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetDeviceOptions: { + parameters: { + query: { + /** @description Device Id. */ + id: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Device options retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DeviceOptionsDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["DeviceOptionsDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["DeviceOptionsDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Device not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdateDeviceOptions: { + parameters: { + query: { + /** @description Device Id. */ + id: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Device Options. */ + requestBody: { + content: { + "application/json": components["schemas"]["DeviceOptionsDto"]; + "text/json": components["schemas"]["DeviceOptionsDto"]; + "application/*+json": components["schemas"]["DeviceOptionsDto"]; + }; + }; + responses: { + /** @description Device options updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetDisplayPreferences: { + parameters: { + query: { + /** @description User id. */ + userId?: string; + /** @description Client. */ + client: string; + }; + header?: never; + path: { + /** @description Display preferences id. */ + displayPreferencesId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Display preferences retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DisplayPreferencesDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["DisplayPreferencesDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["DisplayPreferencesDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateDisplayPreferences: { + parameters: { + query: { + /** @description User Id. */ + userId?: string; + /** @description Client. */ + client: string; + }; + header?: never; + path: { + /** @description Display preferences id. */ + displayPreferencesId: string; + }; + cookie?: never; + }; + /** @description New Display Preferences object. */ + requestBody: { + content: { + "application/json": components["schemas"]["DisplayPreferencesDto"]; + "text/json": components["schemas"]["DisplayPreferencesDto"]; + "application/*+json": components["schemas"]["DisplayPreferencesDto"]; + }; + }; + responses: { + /** @description Display preferences updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetHlsAudioSegment: { + parameters: { + query: { + /** @description The position of the requested segment in ticks. */ + runtimeTicks: number; + /** @description The length of the requested segment in ticks. */ + actualSegmentLengthTicks: number; + /** @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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. The maximum streaming bitrate. */ + maxStreamingBitrate?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The playlist id. */ + playlistId: string; + /** @description The segment id. */ + segmentId: number; + /** @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. */ + container: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "audio/*": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetVariantHlsAudioPlaylist: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. The maximum streaming bitrate. */ + maxStreamingBitrate?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Audio stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetMasterHlsAudioPlaylist: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. The maximum streaming bitrate. */ + maxStreamingBitrate?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Enable adaptive bitrate streaming. */ + enableAdaptiveBitrateStreaming?: boolean; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Audio stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + HeadMasterHlsAudioPlaylist: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. The maximum streaming bitrate. */ + maxStreamingBitrate?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Enable adaptive bitrate streaming. */ + enableAdaptiveBitrateStreaming?: boolean; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Audio stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetHlsVideoSegment: { + parameters: { + query: { + /** @description The position of the requested segment in ticks. */ + runtimeTicks: number; + /** @description The length of the requested segment in ticks. */ + actualSegmentLengthTicks: number; + /** @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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The desired segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. The maximum horizontal resolution of the encoded video. */ + maxWidth?: number; + /** @description Optional. The maximum vertical resolution of the encoded video. */ + maxHeight?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + /** @description Whether to always burn in subtitles when transcoding. */ + alwaysBurnInSubtitleWhenTranscoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The playlist id. */ + playlistId: string; + /** @description The segment id. */ + segmentId: number; + /** @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. */ + container: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLiveHlsStream: { + parameters: { + query?: { + /** @description The audio container. */ + container?: string; + /** @description Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. The max width. */ + maxWidth?: number; + /** @description Optional. The max height. */ + maxHeight?: number; + /** @description Optional. Whether to enable subtitles in the manifest. */ + enableSubtitlesInManifest?: boolean; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + /** @description Whether to always burn in subtitles when transcoding. */ + alwaysBurnInSubtitleWhenTranscoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Hls live stream retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetVariantHlsVideoPlaylist: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. The maximum horizontal resolution of the encoded video. */ + maxWidth?: number; + /** @description Optional. The maximum vertical resolution of the encoded video. */ + maxHeight?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + /** @description Whether to always burn in subtitles when transcoding. */ + alwaysBurnInSubtitleWhenTranscoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetMasterHlsVideoPlaylist: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. The maximum horizontal resolution of the encoded video. */ + maxWidth?: number; + /** @description Optional. The maximum vertical resolution of the encoded video. */ + maxHeight?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Enable adaptive bitrate streaming. */ + enableAdaptiveBitrateStreaming?: boolean; + /** @description Enable trickplay image playlists being added to master playlist. */ + enableTrickplay?: boolean; + /** @description Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + /** @description Whether to always burn in subtitles when transcoding. */ + alwaysBurnInSubtitleWhenTranscoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + HeadMasterHlsVideoPlaylist: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. The maximum horizontal resolution of the encoded video. */ + maxWidth?: number; + /** @description Optional. The maximum vertical resolution of the encoded video. */ + maxHeight?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Enable adaptive bitrate streaming. */ + enableAdaptiveBitrateStreaming?: boolean; + /** @description Enable trickplay image playlists being added to master playlist. */ + enableTrickplay?: boolean; + /** @description Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + /** @description Whether to always burn in subtitles when transcoding. */ + alwaysBurnInSubtitleWhenTranscoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetDefaultDirectoryBrowser: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default directory browser returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["DefaultDirectoryBrowserInfoDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["DefaultDirectoryBrowserInfoDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["DefaultDirectoryBrowserInfoDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetDirectoryContents: { + parameters: { + query: { + /** @description The path. */ + path: string; + /** @description An optional filter to include or exclude files from the results. true/false. */ + includeFiles?: boolean; + /** @description An optional filter to include or exclude folders from the results. true/false. */ + includeDirectories?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Directory contents returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["FileSystemEntryInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["FileSystemEntryInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["FileSystemEntryInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetDrives: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of entries returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["FileSystemEntryInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["FileSystemEntryInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["FileSystemEntryInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetNetworkShares: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Empty array returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["FileSystemEntryInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["FileSystemEntryInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["FileSystemEntryInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetParentPath: { + parameters: { + query: { + /** @description The path. */ + path: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + "application/json; profile=\"CamelCase\"": string; + "application/json; profile=\"PascalCase\"": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ValidatePath: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Validate request object. */ + requestBody: { + content: { + "application/json": components["schemas"]["ValidatePathDto"]; + "text/json": components["schemas"]["ValidatePathDto"]; + "application/*+json": components["schemas"]["ValidatePathDto"]; + }; + }; + responses: { + /** @description Path validated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Path not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetQueryFiltersLegacy: { + parameters: { + query?: { + /** @description Optional. User id. */ + userId?: string; + /** @description Optional. Parent id. */ + parentId?: string; + /** @description Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. Filter by MediaType. Allows multiple, comma delimited. */ + mediaTypes?: components["schemas"]["MediaType"][]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Legacy filters retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QueryFiltersLegacy"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["QueryFiltersLegacy"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["QueryFiltersLegacy"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetQueryFilters: { + parameters: { + query?: { + /** @description Optional. User id. */ + userId?: string; + /** @description Optional. Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. Is item airing. */ + isAiring?: boolean; + /** @description Optional. Is item movie. */ + isMovie?: boolean; + /** @description Optional. Is item sports. */ + isSports?: boolean; + /** @description Optional. Is item kids. */ + isKids?: boolean; + /** @description Optional. Is item news. */ + isNews?: boolean; + /** @description Optional. Is item series. */ + isSeries?: boolean; + /** @description Optional. Search recursive. */ + recursive?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Filters retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QueryFilters"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["QueryFilters"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["QueryFilters"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetGenres: { + parameters: { + query?: { + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description The search term. */ + searchTerm?: string; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional filter by items that are marked as favorite, or not. */ + isFavorite?: boolean; + /** @description Optional, the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description User id. */ + userId?: string; + /** @description Optional filter by items whose name is sorted equally or greater than a given input string. */ + nameStartsWithOrGreater?: string; + /** @description Optional filter by items whose name is sorted equally than a given input string. */ + nameStartsWith?: string; + /** @description Optional filter by items whose name is equally or lesser than a given input string. */ + nameLessThan?: string; + /** @description Optional. Specify one or more sort orders, comma delimited. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Sort Order - Ascending,Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + /** @description Optional, include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Genres returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetGenre: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + }; + header?: never; + path: { + /** @description The genre name. */ + genreName: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Genres returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetHlsAudioSegmentLegacyAac: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The segment id. */ + segmentId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Hls audio segment returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "audio/*": string; + }; + }; + }; + }; + GetHlsAudioSegmentLegacyMp3: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The segment id. */ + segmentId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Hls audio segment returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "audio/*": string; + }; + }; + }; + }; + GetHlsVideoSegmentLegacy: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The playlist id. */ + playlistId: string; + /** @description The segment id. */ + segmentId: string; + /** @description The segment container. */ + segmentContainer: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Hls video segment returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + }; + }; + /** @description Hls segment not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetHlsPlaylistLegacy: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The video id. */ + itemId: string; + /** @description The playlist id. */ + playlistId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Hls video playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + StopEncodingProcess: { + parameters: { + query: { + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId: string; + /** @description The play session id. */ + playSessionId: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Encoding stopped successfully. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetArtistImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Artist name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadArtistImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Artist name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetSplashscreen: { + parameters: { + query?: { + /** @description Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Blur image. */ + blur?: number; + /** @description Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Quality setting, from 0-100. */ + quality?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Splashscreen returned successfully. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + }; + }; + UploadCustomSplashscreen: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "image/*": string; + }; + }; + responses: { + /** @description Successfully uploaded new splashscreen. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Error reading MimeType from uploaded image. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to upload splashscreen.. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DeleteCustomSplashscreen: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successfully deleted the custom splashscreen. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to delete splashscreen.. */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetGenreImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Genre name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadGenreImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Genre name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetGenreImageByIndex: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Genre name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadGenreImageByIndex: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Genre name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetItemImageInfos: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item images returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImageInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ImageInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ImageInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetItemImage: { + parameters: { + query?: { + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + SetItemImage: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: { + content: { + "image/*": string; + }; + }; + responses: { + /** @description Image saved. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DeleteItemImage: { + parameters: { + query?: { + /** @description The image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadItemImage: { + parameters: { + query?: { + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetItemImageByIndex: { + parameters: { + query?: { + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + SetItemImageByIndex: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description (Unused) Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "image/*": string; + }; + }; + responses: { + /** @description Image saved. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DeleteItemImageByIndex: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description The image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadItemImageByIndex: { + parameters: { + query?: { + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetItemImage2: { + parameters: { + query?: { + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description The maximum image width to return. */ + maxWidth: number; + /** @description The maximum image height to return. */ + maxHeight: number; + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount: number; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadItemImage2: { + parameters: { + query?: { + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description The maximum image width to return. */ + maxWidth: number; + /** @description The maximum image height to return. */ + maxHeight: number; + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount: number; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdateItemImageIndex: { + parameters: { + query: { + /** @description New image index. */ + newIndex: number; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Old image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image index updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetMusicGenreImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Music genre name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadMusicGenreImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Music genre name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetMusicGenreImageByIndex: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Music genre name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadMusicGenreImageByIndex: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Music genre name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPersonImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Person name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadPersonImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Person name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPersonImageByIndex: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Person name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadPersonImageByIndex: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Person name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetStudioImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Studio name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadStudioImage: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path: { + /** @description Studio name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetStudioImageByIndex: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Studio name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadStudioImageByIndex: { + parameters: { + query?: { + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + }; + header?: never; + path: { + /** @description Studio name. */ + name: string; + /** @description Image type. */ + imageType: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Image index. */ + imageIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetUserImage: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description User id not provided. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + PostUserImage: { + parameters: { + query?: { + /** @description User Id. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "image/*": string; + }; + }; + responses: { + /** @description Image updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to delete the image. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DeleteUserImage: { + parameters: { + query?: { + /** @description User Id. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to delete the image. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadUserImage: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + /** @description Optional. Supply the cache tag from the item object to receive strong caching headers. */ + tag?: string; + /** @description Determines the output format of the image - original,gif,jpg,png. */ + format?: "Bmp" | "Gif" | "Jpg" | "Png" | "Webp" | "Svg"; + /** @description The maximum image width to return. */ + maxWidth?: number; + /** @description The maximum image height to return. */ + maxHeight?: number; + /** @description Optional. Percent to render for the percent played overlay. */ + percentPlayed?: number; + /** @description Optional. Unplayed count overlay to render. */ + unplayedCount?: number; + /** @description The fixed image width to return. */ + width?: number; + /** @description The fixed image height to return. */ + height?: number; + /** @description Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. */ + quality?: number; + /** @description Width of box to fill. */ + fillWidth?: number; + /** @description Height of box to fill. */ + fillHeight?: number; + /** @description Optional. Blur image. */ + blur?: number; + /** @description Optional. Apply a background color for transparent images. */ + backgroundColor?: string; + /** @description Optional. Apply a foreground layer on top of the image. */ + foregroundLayer?: string; + /** @description Image index. */ + imageIndex?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Image stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description User id not provided. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetInstantMixFromAlbum: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instant playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetInstantMixFromArtists: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instant playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetInstantMixFromArtists2: { + parameters: { + query: { + /** @description The item id. */ + id: string; + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instant playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetInstantMixFromItem: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instant playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetInstantMixFromMusicGenreByName: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + }; + header?: never; + path: { + /** @description The genre name. */ + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instant playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetInstantMixFromMusicGenreById: { + parameters: { + query: { + /** @description The item id. */ + id: string; + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instant playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetInstantMixFromPlaylist: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instant playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetInstantMixFromSong: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instant playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetExternalIdInfos: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description External id info retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ExternalIdInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ExternalIdInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ExternalIdInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + ApplySearchCriteria: { + parameters: { + query?: { + /** @description Optional. Whether or not to replace all images. Default: True. */ + replaceAllImages?: boolean; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + /** @description The remote search result. */ + requestBody: { + content: { + "application/json": components["schemas"]["RemoteSearchResult"]; + "text/json": components["schemas"]["RemoteSearchResult"]; + "application/*+json": components["schemas"]["RemoteSearchResult"]; + }; + }; + responses: { + /** @description Item metadata refreshed. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetBookRemoteSearchResults: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Remote search query. */ + requestBody: { + content: { + "application/json": components["schemas"]["BookInfoRemoteSearchQuery"]; + "text/json": components["schemas"]["BookInfoRemoteSearchQuery"]; + "application/*+json": components["schemas"]["BookInfoRemoteSearchQuery"]; + }; + }; + responses: { + /** @description Book remote search executed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSearchResult"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetBoxSetRemoteSearchResults: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Remote search query. */ + requestBody: { + content: { + "application/json": components["schemas"]["BoxSetInfoRemoteSearchQuery"]; + "text/json": components["schemas"]["BoxSetInfoRemoteSearchQuery"]; + "application/*+json": components["schemas"]["BoxSetInfoRemoteSearchQuery"]; + }; + }; + responses: { + /** @description Box set remote search executed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSearchResult"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetMovieRemoteSearchResults: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Remote search query. */ + requestBody: { + content: { + "application/json": components["schemas"]["MovieInfoRemoteSearchQuery"]; + "text/json": components["schemas"]["MovieInfoRemoteSearchQuery"]; + "application/*+json": components["schemas"]["MovieInfoRemoteSearchQuery"]; + }; + }; + responses: { + /** @description Movie remote search executed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSearchResult"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetMusicAlbumRemoteSearchResults: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Remote search query. */ + requestBody: { + content: { + "application/json": components["schemas"]["AlbumInfoRemoteSearchQuery"]; + "text/json": components["schemas"]["AlbumInfoRemoteSearchQuery"]; + "application/*+json": components["schemas"]["AlbumInfoRemoteSearchQuery"]; + }; + }; + responses: { + /** @description Music album remote search executed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSearchResult"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetMusicArtistRemoteSearchResults: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Remote search query. */ + requestBody: { + content: { + "application/json": components["schemas"]["ArtistInfoRemoteSearchQuery"]; + "text/json": components["schemas"]["ArtistInfoRemoteSearchQuery"]; + "application/*+json": components["schemas"]["ArtistInfoRemoteSearchQuery"]; + }; + }; + responses: { + /** @description Music artist remote search executed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSearchResult"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetMusicVideoRemoteSearchResults: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Remote search query. */ + requestBody: { + content: { + "application/json": components["schemas"]["MusicVideoInfoRemoteSearchQuery"]; + "text/json": components["schemas"]["MusicVideoInfoRemoteSearchQuery"]; + "application/*+json": components["schemas"]["MusicVideoInfoRemoteSearchQuery"]; + }; + }; + responses: { + /** @description Music video remote search executed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSearchResult"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetPersonRemoteSearchResults: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Remote search query. */ + requestBody: { + content: { + "application/json": components["schemas"]["PersonLookupInfoRemoteSearchQuery"]; + "text/json": components["schemas"]["PersonLookupInfoRemoteSearchQuery"]; + "application/*+json": components["schemas"]["PersonLookupInfoRemoteSearchQuery"]; + }; + }; + responses: { + /** @description Person remote search executed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSearchResult"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSeriesRemoteSearchResults: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Remote search query. */ + requestBody: { + content: { + "application/json": components["schemas"]["SeriesInfoRemoteSearchQuery"]; + "text/json": components["schemas"]["SeriesInfoRemoteSearchQuery"]; + "application/*+json": components["schemas"]["SeriesInfoRemoteSearchQuery"]; + }; + }; + responses: { + /** @description Series remote search executed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSearchResult"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetTrailerRemoteSearchResults: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Remote search query. */ + requestBody: { + content: { + "application/json": components["schemas"]["TrailerInfoRemoteSearchQuery"]; + "text/json": components["schemas"]["TrailerInfoRemoteSearchQuery"]; + "application/*+json": components["schemas"]["TrailerInfoRemoteSearchQuery"]; + }; + }; + responses: { + /** @description Trailer remote search executed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSearchResult"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSearchResult"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + RefreshItem: { + parameters: { + query?: { + /** @description (Optional) Specifies the metadata refresh mode. */ + metadataRefreshMode?: "None" | "ValidationOnly" | "Default" | "FullRefresh"; + /** @description (Optional) Specifies the image refresh mode. */ + imageRefreshMode?: "None" | "ValidationOnly" | "Default" | "FullRefresh"; + /** @description (Optional) Determines if metadata should be replaced. Only applicable if mode is FullRefresh. */ + replaceAllMetadata?: boolean; + /** @description (Optional) Determines if images should be replaced. Only applicable if mode is FullRefresh. */ + replaceAllImages?: boolean; + /** @description (Optional) Determines if trickplay images should be replaced. Only applicable if mode is FullRefresh. */ + regenerateTrickplay?: boolean; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item metadata refresh queued. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item to refresh not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetItems: { + parameters: { + query?: { + /** @description The user id supplied as query parameter; this is required when not using an API key. */ + userId?: string; + /** @description Optional filter by maximum official rating (PG, PG-13, TV-MA, etc). */ + maxOfficialRating?: string; + /** @description Optional filter by items with theme songs. */ + hasThemeSong?: boolean; + /** @description Optional filter by items with theme videos. */ + hasThemeVideo?: boolean; + /** @description Optional filter by items with subtitles. */ + hasSubtitles?: boolean; + /** @description Optional filter by items with special features. */ + hasSpecialFeature?: boolean; + /** @description Optional filter by items with trailers. */ + hasTrailer?: boolean; + /** @description Optional. Return items that are siblings of a supplied item. */ + adjacentTo?: string; + /** @description Optional filter by index number. */ + indexNumber?: number; + /** @description Optional filter by parent index number. */ + parentIndexNumber?: number; + /** @description Optional filter by items that have or do not have a parental rating. */ + hasParentalRating?: boolean; + /** @description Optional filter by items that are HD or not. */ + isHd?: boolean; + /** @description Optional filter by items that are 4K or not. */ + is4K?: boolean; + /** @description Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited. */ + locationTypes?: components["schemas"]["LocationType"][]; + /** @description Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited. */ + excludeLocationTypes?: components["schemas"]["LocationType"][]; + /** @description Optional filter by items that are missing episodes or not. */ + isMissing?: boolean; + /** @description Optional filter by items that are unaired episodes or not. */ + isUnaired?: boolean; + /** @description Optional filter by minimum community rating. */ + minCommunityRating?: number; + /** @description Optional filter by minimum critic rating. */ + minCriticRating?: number; + /** @description Optional. The minimum premiere date. Format = ISO. */ + minPremiereDate?: string; + /** @description Optional. The minimum last saved date. Format = ISO. */ + minDateLastSaved?: string; + /** @description Optional. The minimum last saved date for the current user. Format = ISO. */ + minDateLastSavedForUser?: string; + /** @description Optional. The maximum premiere date. Format = ISO. */ + maxPremiereDate?: string; + /** @description Optional filter by items that have an overview or not. */ + hasOverview?: boolean; + /** @description Optional filter by items that have an IMDb id or not. */ + hasImdbId?: boolean; + /** @description Optional filter by items that have a TMDb id or not. */ + hasTmdbId?: boolean; + /** @description Optional filter by items that have a TVDb id or not. */ + hasTvdbId?: boolean; + /** @description Optional filter for live tv movies. */ + isMovie?: boolean; + /** @description Optional filter for live tv series. */ + isSeries?: boolean; + /** @description Optional filter for live tv news. */ + isNews?: boolean; + /** @description Optional filter for live tv kids. */ + isKids?: boolean; + /** @description Optional filter for live tv sports. */ + isSports?: boolean; + /** @description Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited. */ + excludeItemIds?: string[]; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description When searching within folders, this determines whether or not the search will be recursive. true/false. */ + recursive?: boolean; + /** @description Optional. Filter based on a search term. */ + searchTerm?: string; + /** @description Sort Order - Ascending, Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes. */ + filters?: components["schemas"]["ItemFilter"][]; + /** @description Optional filter by items that are marked as favorite, or not. */ + isFavorite?: boolean; + /** @description Optional filter by MediaType. Allows multiple, comma delimited. */ + mediaTypes?: components["schemas"]["MediaType"][]; + /** @description Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited. */ + imageTypes?: components["schemas"]["ImageType"][]; + /** @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. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Optional filter by items that are played, or not. */ + isPlayed?: boolean; + /** @description Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. */ + genres?: string[]; + /** @description Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. */ + officialRatings?: string[]; + /** @description Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. */ + tags?: string[]; + /** @description Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. */ + years?: number[]; + /** @description Optional, include user data. */ + enableUserData?: boolean; + /** @description Optional, the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified person. */ + person?: string; + /** @description Optional. If specified, results will be filtered to include only those containing the specified person id. */ + personIds?: string[]; + /** @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. */ + personTypes?: string[]; + /** @description Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. */ + studios?: string[]; + /** @description Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited. */ + artists?: string[]; + /** @description Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited. */ + excludeArtistIds?: string[]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified artist id. */ + artistIds?: string[]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified album artist id. */ + albumArtistIds?: string[]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified contributing artist id. */ + contributingArtistIds?: string[]; + /** @description Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited. */ + albums?: string[]; + /** @description Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited. */ + albumIds?: string[]; + /** @description Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited. */ + ids?: string[]; + /** @description Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited. */ + videoTypes?: components["schemas"]["VideoType"][]; + /** @description Optional filter by minimum official rating (PG, PG-13, TV-MA, etc). */ + minOfficialRating?: string; + /** @description Optional filter by items that are locked. */ + isLocked?: boolean; + /** @description Optional filter by items that are placeholders. */ + isPlaceHolder?: boolean; + /** @description Optional filter by items that have official ratings. */ + hasOfficialRating?: boolean; + /** @description Whether or not to hide items behind their boxsets. */ + collapseBoxSetItems?: boolean; + /** @description Optional. Filter by the minimum width of the item. */ + minWidth?: number; + /** @description Optional. Filter by the minimum height of the item. */ + minHeight?: number; + /** @description Optional. Filter by the maximum width of the item. */ + maxWidth?: number; + /** @description Optional. Filter by the maximum height of the item. */ + maxHeight?: number; + /** @description Optional filter by items that are 3D, or not. */ + is3D?: boolean; + /** @description Optional filter by Series Status. Allows multiple, comma delimited. */ + seriesStatus?: components["schemas"]["SeriesStatus"][]; + /** @description Optional filter by items whose name is sorted equally or greater than a given input string. */ + nameStartsWithOrGreater?: string; + /** @description Optional filter by items whose name is sorted equally than a given input string. */ + nameStartsWith?: string; + /** @description Optional filter by items whose name is equally or lesser than a given input string. */ + nameLessThan?: string; + /** @description Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. */ + studioIds?: string[]; + /** @description Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. */ + genreIds?: string[]; + /** @description Optional. Enable the total record count. */ + enableTotalRecordCount?: boolean; + /** @description Optional, include image information in output. */ + enableImages?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DeleteItems: { + parameters: { + query?: { + /** @description The item ids. */ + ids?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Items deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized access. */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetItemUserData: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description return item user data. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserItemDataDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdateItemUserData: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + /** @description New user data object. */ + requestBody: { + content: { + "application/json": components["schemas"]["UpdateUserItemDataDto"]; + "text/json": components["schemas"]["UpdateUserItemDataDto"]; + "application/*+json": components["schemas"]["UpdateUserItemDataDto"]; + }; + }; + responses: { + /** @description return updated user item data. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserItemDataDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item is not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetResumeItems: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + /** @description The start index. */ + startIndex?: number; + /** @description The item limit. */ + limit?: number; + /** @description The search term. */ + searchTerm?: string; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Filter by MediaType. Allows multiple, comma delimited. */ + mediaTypes?: components["schemas"]["MediaType"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. Enable the total record count. */ + enableTotalRecordCount?: boolean; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Whether to exclude the currently active sessions. */ + excludeActiveSessions?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Items returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetItem: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateItem: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + /** @description The new item properties. */ + requestBody: { + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "text/json": components["schemas"]["BaseItemDto"]; + "application/*+json": components["schemas"]["BaseItemDto"]; + }; + }; + responses: { + /** @description Item updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DeleteItem: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized access. */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdateItemContentType: { + parameters: { + query?: { + /** @description The content type of the item. */ + contentType?: string; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item content type updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetMetadataEditorInfo: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item metadata editor returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataEditorInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["MetadataEditorInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["MetadataEditorInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetSimilarAlbums: { + parameters: { + query?: { + /** @description Exclude artist ids. */ + excludeArtistIds?: string[]; + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. */ + fields?: components["schemas"]["ItemFields"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Similar items returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSimilarArtists: { + parameters: { + query?: { + /** @description Exclude artist ids. */ + excludeArtistIds?: string[]; + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. */ + fields?: components["schemas"]["ItemFields"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Similar items returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetAncestors: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item parents returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetCriticReviews: { + parameters: { + query?: never; + header?: never; + path: { + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Critic reviews returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetDownload: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Media downloaded. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + "audio/*": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetFile: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description File stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + "audio/*": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetSimilarItems: { + parameters: { + query?: { + /** @description Exclude artist ids. */ + excludeArtistIds?: string[]; + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. */ + fields?: components["schemas"]["ItemFields"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Similar items returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetThemeMedia: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. Determines whether or not parent items should be searched for theme media. */ + inheritFromParent?: boolean; + /** @description Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Optional. Sort Order - Ascending, Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Theme songs and videos returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AllThemeMediaResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["AllThemeMediaResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["AllThemeMediaResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetThemeSongs: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. Determines whether or not parent items should be searched for theme media. */ + inheritFromParent?: boolean; + /** @description Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Optional. Sort Order - Ascending, Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Theme songs returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ThemeMediaResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ThemeMediaResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ThemeMediaResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetThemeVideos: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. Determines whether or not parent items should be searched for theme media. */ + inheritFromParent?: boolean; + /** @description Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Optional. Sort Order - Ascending, Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Theme videos returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ThemeMediaResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ThemeMediaResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ThemeMediaResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetItemCounts: { + parameters: { + query?: { + /** @description Optional. Get counts from a specific user's library. */ + userId?: string; + /** @description Optional. Get counts of favorite items. */ + isFavorite?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item counts returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ItemCounts"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ItemCounts"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ItemCounts"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLibraryOptionsInfo: { + parameters: { + query?: { + /** @description Library content type. */ + libraryContentType?: "unknown" | "movies" | "tvshows" | "music" | "musicvideos" | "trailers" | "homevideos" | "boxsets" | "books" | "photos" | "livetv" | "playlists" | "folders"; + /** @description Whether this is a new library. */ + isNewLibrary?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Library options info returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LibraryOptionsResultDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["LibraryOptionsResultDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["LibraryOptionsResultDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + PostUpdatedMedia: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The update paths. */ + requestBody: { + content: { + "application/json": components["schemas"]["MediaUpdateInfoDto"]; + "text/json": components["schemas"]["MediaUpdateInfoDto"]; + "application/*+json": components["schemas"]["MediaUpdateInfoDto"]; + }; + }; + responses: { + /** @description Report success. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetMediaFolders: { + parameters: { + query?: { + /** @description Optional. Filter by folders that are marked hidden, or not. */ + isHidden?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Media folders returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + PostAddedMovies: { + parameters: { + query?: { + /** @description The tmdbId. */ + tmdbId?: string; + /** @description The imdbId. */ + imdbId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Report success. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + PostUpdatedMovies: { + parameters: { + query?: { + /** @description The tmdbId. */ + tmdbId?: string; + /** @description The imdbId. */ + imdbId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Report success. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetPhysicalPaths: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Physical paths returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + "application/json; profile=\"CamelCase\"": string[]; + "application/json; profile=\"PascalCase\"": string[]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + RefreshLibrary: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Library scan started. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + PostAddedSeries: { + parameters: { + query?: { + /** @description The tvdbId. */ + tvdbId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Report success. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + PostUpdatedSeries: { + parameters: { + query?: { + /** @description The tvdbId. */ + tvdbId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Report success. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSimilarMovies: { + parameters: { + query?: { + /** @description Exclude artist ids. */ + excludeArtistIds?: string[]; + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. */ + fields?: components["schemas"]["ItemFields"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Similar items returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSimilarShows: { + parameters: { + query?: { + /** @description Exclude artist ids. */ + excludeArtistIds?: string[]; + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. */ + fields?: components["schemas"]["ItemFields"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Similar items returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSimilarTrailers: { + parameters: { + query?: { + /** @description Exclude artist ids. */ + excludeArtistIds?: string[]; + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. */ + fields?: components["schemas"]["ItemFields"][]; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Similar items returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetVirtualFolders: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Virtual folders retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["VirtualFolderInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["VirtualFolderInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["VirtualFolderInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + AddVirtualFolder: { + parameters: { + query?: { + /** @description The name of the virtual folder. */ + name?: string; + /** @description The type of the collection. */ + collectionType?: "movies" | "tvshows" | "music" | "musicvideos" | "homevideos" | "boxsets" | "books" | "mixed"; + /** @description The paths of the virtual folder. */ + paths?: string[]; + /** @description Whether to refresh the library. */ + refreshLibrary?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The library options. */ + requestBody?: { + content: { + "application/json": components["schemas"]["AddVirtualFolderDto"]; + "text/json": components["schemas"]["AddVirtualFolderDto"]; + "application/*+json": components["schemas"]["AddVirtualFolderDto"]; + }; + }; + responses: { + /** @description Folder added. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + RemoveVirtualFolder: { + parameters: { + query?: { + /** @description The name of the folder. */ + name?: string; + /** @description Whether to refresh the library. */ + refreshLibrary?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Folder removed. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateLibraryOptions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The library name and options. */ + requestBody?: { + content: { + "application/json": components["schemas"]["UpdateLibraryOptionsDto"]; + "text/json": components["schemas"]["UpdateLibraryOptionsDto"]; + "application/*+json": components["schemas"]["UpdateLibraryOptionsDto"]; + }; + }; + responses: { + /** @description Library updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + RenameVirtualFolder: { + parameters: { + query?: { + /** @description The name of the virtual folder. */ + name?: string; + /** @description The new name. */ + newName?: string; + /** @description Whether to refresh the library. */ + refreshLibrary?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Folder renamed. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Library doesn't exist. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Library already exists. */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + AddMediaPath: { + parameters: { + query?: { + /** @description Whether to refresh the library. */ + refreshLibrary?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The media path dto. */ + requestBody: { + content: { + "application/json": components["schemas"]["MediaPathDto"]; + "text/json": components["schemas"]["MediaPathDto"]; + "application/*+json": components["schemas"]["MediaPathDto"]; + }; + }; + responses: { + /** @description Media path added. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + RemoveMediaPath: { + parameters: { + query?: { + /** @description The name of the library. */ + name?: string; + /** @description The path to remove. */ + path?: string; + /** @description Whether to refresh the library. */ + refreshLibrary?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Media path removed. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateMediaPath: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The name of the library and path infos. */ + requestBody: { + content: { + "application/json": components["schemas"]["UpdateMediaPathRequestDto"]; + "text/json": components["schemas"]["UpdateMediaPathRequestDto"]; + "application/*+json": components["schemas"]["UpdateMediaPathRequestDto"]; + }; + }; + responses: { + /** @description Media path updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetChannelMappingOptions: { + parameters: { + query?: { + /** @description Provider id. */ + providerId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Channel mapping options returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChannelMappingOptionsDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ChannelMappingOptionsDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ChannelMappingOptionsDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SetChannelMapping: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The set channel mapping dto. */ + requestBody: { + content: { + "application/json": components["schemas"]["SetChannelMappingDto"]; + "text/json": components["schemas"]["SetChannelMappingDto"]; + "application/*+json": components["schemas"]["SetChannelMappingDto"]; + }; + }; + responses: { + /** @description Created channel mapping returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TunerChannelMapping"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["TunerChannelMapping"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["TunerChannelMapping"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLiveTvChannels: { + parameters: { + query?: { + /** @description Optional. Filter by channel type. */ + type?: "TV" | "Radio"; + /** @description Optional. Filter by user and attach user data. */ + userId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. Filter for movies. */ + isMovie?: boolean; + /** @description Optional. Filter for series. */ + isSeries?: boolean; + /** @description Optional. Filter for news. */ + isNews?: boolean; + /** @description Optional. Filter for kids. */ + isKids?: boolean; + /** @description Optional. Filter for sports. */ + isSports?: boolean; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Filter by channels that are favorites, or not. */ + isFavorite?: boolean; + /** @description Optional. Filter by channels that are liked, or not. */ + isLiked?: boolean; + /** @description Optional. Filter by channels that are disliked, or not. */ + isDisliked?: boolean; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description "Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. Key to sort by. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Optional. Sort order. */ + sortOrder?: "Ascending" | "Descending"; + /** @description Optional. Incorporate favorite and like status into channel sorting. */ + enableFavoriteSorting?: boolean; + /** @description Optional. Adds current program info to each channel. */ + addCurrentProgram?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Available live tv channels returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetChannel: { + parameters: { + query?: { + /** @description Optional. Attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description Channel id. */ + channelId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Live tv channel returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetGuideInfo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Guid info returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["GuideInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["GuideInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["GuideInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLiveTvInfo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Available live tv services returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiveTvInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["LiveTvInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["LiveTvInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + AddListingProvider: { + parameters: { + query?: { + /** @description Password. */ + pw?: string; + /** @description Validate listings. */ + validateListings?: boolean; + /** @description Validate login. */ + validateLogin?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description New listings info. */ + requestBody?: { + content: { + "application/json": components["schemas"]["ListingsProviderInfo"]; + "text/json": components["schemas"]["ListingsProviderInfo"]; + "application/*+json": components["schemas"]["ListingsProviderInfo"]; + }; + }; + responses: { + /** @description Created listings provider returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ListingsProviderInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ListingsProviderInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ListingsProviderInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DeleteListingProvider: { + parameters: { + query?: { + /** @description Listing provider id. */ + id?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Listing provider deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetDefaultListingProvider: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default listings provider info returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ListingsProviderInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ListingsProviderInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ListingsProviderInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLineups: { + parameters: { + query?: { + /** @description Provider id. */ + id?: string; + /** @description Provider type. */ + type?: string; + /** @description Location. */ + location?: string; + /** @description Country. */ + country?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Available lineups returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NameIdPair"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["NameIdPair"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["NameIdPair"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSchedulesDirectCountries: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Available countries returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLiveRecordingFile: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Recording id. */ + recordingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + }; + }; + /** @description Recording not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetLiveStreamFile: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Stream id. */ + streamId: string; + /** @description Container type. */ + container: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + }; + }; + /** @description Stream not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetLiveTvPrograms: { + parameters: { + query?: { + /** @description The channels to return guide information for. */ + channelIds?: string[]; + /** @description Optional. Filter by user id. */ + userId?: string; + /** @description Optional. The minimum premiere start date. */ + minStartDate?: string; + /** @description Optional. Filter by programs that have completed airing, or not. */ + hasAired?: boolean; + /** @description Optional. Filter by programs that are currently airing, or not. */ + isAiring?: boolean; + /** @description Optional. The maximum premiere start date. */ + maxStartDate?: string; + /** @description Optional. The minimum premiere end date. */ + minEndDate?: string; + /** @description Optional. The maximum premiere end date. */ + maxEndDate?: string; + /** @description Optional. Filter for movies. */ + isMovie?: boolean; + /** @description Optional. Filter for series. */ + isSeries?: boolean; + /** @description Optional. Filter for news. */ + isNews?: boolean; + /** @description Optional. Filter for kids. */ + isKids?: boolean; + /** @description Optional. Filter for sports. */ + isSports?: boolean; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify one or more sort orders, comma delimited. Options: Name, StartDate. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Sort Order - Ascending,Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + /** @description The genres to return guide information for. */ + genres?: string[]; + /** @description The genre ids to return guide information for. */ + genreIds?: string[]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. Filter by series timer id. */ + seriesTimerId?: string; + /** @description Optional. Filter by library series id. */ + librarySeriesId?: string; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Retrieve total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Live tv epgs returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetPrograms: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Request body. */ + requestBody?: { + content: { + "application/json": components["schemas"]["GetProgramsDto"]; + "text/json": components["schemas"]["GetProgramsDto"]; + "application/*+json": components["schemas"]["GetProgramsDto"]; + }; + }; + responses: { + /** @description Live tv epgs returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetProgram: { + parameters: { + query?: { + /** @description Optional. Attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description Program id. */ + programId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Program returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetRecommendedPrograms: { + parameters: { + query?: { + /** @description Optional. filter by user id. */ + userId?: string; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Filter by programs that are currently airing, or not. */ + isAiring?: boolean; + /** @description Optional. Filter by programs that have completed airing, or not. */ + hasAired?: boolean; + /** @description Optional. Filter for series. */ + isSeries?: boolean; + /** @description Optional. Filter for movies. */ + isMovie?: boolean; + /** @description Optional. Filter for news. */ + isNews?: boolean; + /** @description Optional. Filter for kids. */ + isKids?: boolean; + /** @description Optional. Filter for sports. */ + isSports?: boolean; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description The genres to return guide information for. */ + genreIds?: string[]; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. include user data. */ + enableUserData?: boolean; + /** @description Retrieve total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recommended epgs returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetRecordings: { + parameters: { + query?: { + /** @description Optional. Filter by channel id. */ + channelId?: string; + /** @description Optional. Filter by user and attach user data. */ + userId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Filter by recording status. */ + status?: "New" | "InProgress" | "Completed" | "Cancelled" | "ConflictedOk" | "ConflictedNotOk" | "Error"; + /** @description Optional. Filter by recordings that are in progress, or not. */ + isInProgress?: boolean; + /** @description Optional. Filter by recordings belonging to a series timer. */ + seriesTimerId?: string; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. Filter for movies. */ + isMovie?: boolean; + /** @description Optional. Filter for series. */ + isSeries?: boolean; + /** @description Optional. Filter for kids. */ + isKids?: boolean; + /** @description Optional. Filter for sports. */ + isSports?: boolean; + /** @description Optional. Filter for news. */ + isNews?: boolean; + /** @description Optional. Filter for is library item. */ + isLibraryItem?: boolean; + /** @description Optional. Return total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Live tv recordings returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetRecording: { + parameters: { + query?: { + /** @description Optional. Attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description Recording id. */ + recordingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DeleteRecording: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Recording id. */ + recordingId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetRecordingFolders: { + parameters: { + query?: { + /** @description Optional. Filter by user and attach user data. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording folders returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetRecordingGroups: { + parameters: { + query?: { + /** @description Optional. Filter by user and attach user data. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Recording groups returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetRecordingGroup: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Group id. */ + groupId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetRecordingsSeries: { + parameters: { + query?: { + /** @description Optional. Filter by channel id. */ + channelId?: string; + /** @description Optional. Filter by user and attach user data. */ + userId?: string; + /** @description Optional. Filter by recording group. */ + groupId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Filter by recording status. */ + status?: "New" | "InProgress" | "Completed" | "Cancelled" | "ConflictedOk" | "ConflictedNotOk" | "Error"; + /** @description Optional. Filter by recordings that are in progress, or not. */ + isInProgress?: boolean; + /** @description Optional. Filter by recordings belonging to a series timer. */ + seriesTimerId?: string; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. Return total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Live tv recordings returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSeriesTimers: { + parameters: { + query?: { + /** @description Optional. Sort by SortName or Priority. */ + sortBy?: string; + /** @description Optional. Sort in Ascending or Descending order. */ + sortOrder?: "Ascending" | "Descending"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Timers returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesTimerInfoDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["SeriesTimerInfoDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["SeriesTimerInfoDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + CreateSeriesTimer: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description New series timer info. */ + requestBody?: { + content: { + "application/json": components["schemas"]["SeriesTimerInfoDto"]; + "text/json": components["schemas"]["SeriesTimerInfoDto"]; + "application/*+json": components["schemas"]["SeriesTimerInfoDto"]; + }; + }; + responses: { + /** @description Series timer info created. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSeriesTimer: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Timer id. */ + timerId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Series timer returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesTimerInfoDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["SeriesTimerInfoDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["SeriesTimerInfoDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Series timer not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdateSeriesTimer: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Timer id. */ + timerId: string; + }; + cookie?: never; + }; + /** @description New series timer info. */ + requestBody?: { + content: { + "application/json": components["schemas"]["SeriesTimerInfoDto"]; + "text/json": components["schemas"]["SeriesTimerInfoDto"]; + "application/*+json": components["schemas"]["SeriesTimerInfoDto"]; + }; + }; + responses: { + /** @description Series timer updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + CancelSeriesTimer: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Timer id. */ + timerId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Timer cancelled. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetTimers: { + parameters: { + query?: { + /** @description Optional. Filter by channel id. */ + channelId?: string; + /** @description Optional. Filter by timers belonging to a series timer. */ + seriesTimerId?: string; + /** @description Optional. Filter by timers that are active. */ + isActive?: boolean; + /** @description Optional. Filter by timers that are scheduled. */ + isScheduled?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TimerInfoDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["TimerInfoDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["TimerInfoDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + CreateTimer: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description New timer info. */ + requestBody?: { + content: { + "application/json": components["schemas"]["TimerInfoDto"]; + "text/json": components["schemas"]["TimerInfoDto"]; + "application/*+json": components["schemas"]["TimerInfoDto"]; + }; + }; + responses: { + /** @description Timer created. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetTimer: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Timer id. */ + timerId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Timer returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TimerInfoDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["TimerInfoDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["TimerInfoDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateTimer: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Timer id. */ + timerId: string; + }; + cookie?: never; + }; + /** @description New timer info. */ + requestBody?: { + content: { + "application/json": components["schemas"]["TimerInfoDto"]; + "text/json": components["schemas"]["TimerInfoDto"]; + "application/*+json": components["schemas"]["TimerInfoDto"]; + }; + }; + responses: { + /** @description Timer updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + CancelTimer: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Timer id. */ + timerId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Timer deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetDefaultTimer: { + parameters: { + query?: { + /** @description Optional. To attach default values based on a program. */ + programId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default values returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SeriesTimerInfoDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["SeriesTimerInfoDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["SeriesTimerInfoDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + AddTunerHost: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description New tuner host. */ + requestBody?: { + content: { + "application/json": components["schemas"]["TunerHostInfo"]; + "text/json": components["schemas"]["TunerHostInfo"]; + "application/*+json": components["schemas"]["TunerHostInfo"]; + }; + }; + responses: { + /** @description Created tuner host returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TunerHostInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["TunerHostInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["TunerHostInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DeleteTunerHost: { + parameters: { + query?: { + /** @description Tuner host id. */ + id?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Tuner host deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetTunerHostTypes: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Tuner host types returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NameIdPair"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["NameIdPair"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["NameIdPair"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ResetTuner: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Tuner id. */ + tunerId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Tuner reset. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DiscoverTuners: { + parameters: { + query?: { + /** @description Only discover new tuners. */ + newDevicesOnly?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Tuners returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TunerHostInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["TunerHostInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["TunerHostInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DiscvoverTuners: { + parameters: { + query?: { + /** @description Only discover new tuners. */ + newDevicesOnly?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Tuners returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TunerHostInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["TunerHostInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["TunerHostInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetCountries: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Known countries returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CountryInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["CountryInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["CountryInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetCultures: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Known cultures returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CultureDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["CultureDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["CultureDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLocalizationOptions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Localization options returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LocalizationOption"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["LocalizationOption"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["LocalizationOption"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetParentalRatings: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Known parental ratings returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ParentalRating"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ParentalRating"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ParentalRating"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLyrics: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Lyrics returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LyricDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["LyricDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["LyricDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Something went wrong. No Lyrics will be returned. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UploadLyrics: { + parameters: { + query: { + /** @description Name of the file being uploaded. */ + fileName: string; + }; + header?: never; + path: { + /** @description The item the lyric belongs to. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "text/plain": string; + }; + }; + responses: { + /** @description Lyrics uploaded. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LyricDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["LyricDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["LyricDto"]; + }; + }; + /** @description Error processing upload. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DeleteLyrics: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Lyric deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + SearchRemoteLyrics: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Lyrics retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteLyricInfoDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteLyricInfoDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteLyricInfoDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DownloadRemoteLyrics: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The lyric id. */ + lyricId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Lyric downloaded. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LyricDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["LyricDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["LyricDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetRemoteLyrics: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The remote provider item id. */ + lyricId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description File returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LyricDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["LyricDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["LyricDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Lyric not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPlaybackInfo: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Playback info returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlaybackInfoResponse"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PlaybackInfoResponse"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PlaybackInfoResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPostedPlaybackInfo: { + parameters: { + query?: { + /** + * @deprecated + * @description The user id. + */ + userId?: string; + /** + * @deprecated + * @description The maximum streaming bitrate. + */ + maxStreamingBitrate?: number; + /** + * @deprecated + * @description The start time in ticks. + */ + startTimeTicks?: number; + /** + * @deprecated + * @description The audio stream index. + */ + audioStreamIndex?: number; + /** + * @deprecated + * @description The subtitle stream index. + */ + subtitleStreamIndex?: number; + /** + * @deprecated + * @description The maximum number of audio channels. + */ + maxAudioChannels?: number; + /** + * @deprecated + * @description The media source id. + */ + mediaSourceId?: string; + /** + * @deprecated + * @description The livestream id. + */ + liveStreamId?: string; + /** + * @deprecated + * @description Whether to auto open the livestream. + */ + autoOpenLiveStream?: boolean; + /** + * @deprecated + * @description Whether to enable direct play. Default: true. + */ + enableDirectPlay?: boolean; + /** + * @deprecated + * @description Whether to enable direct stream. Default: true. + */ + enableDirectStream?: boolean; + /** + * @deprecated + * @description Whether to enable transcoding. Default: true. + */ + enableTranscoding?: boolean; + /** + * @deprecated + * @description Whether to allow to copy the video stream. Default: true. + */ + allowVideoStreamCopy?: boolean; + /** + * @deprecated + * @description Whether to allow to copy the audio stream. Default: true. + */ + allowAudioStreamCopy?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + /** @description The playback info. */ + requestBody?: { + content: { + "application/json": components["schemas"]["PlaybackInfoDto"]; + "text/json": components["schemas"]["PlaybackInfoDto"]; + "application/*+json": components["schemas"]["PlaybackInfoDto"]; + }; + }; + responses: { + /** @description Playback info returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlaybackInfoResponse"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PlaybackInfoResponse"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PlaybackInfoResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + CloseLiveStream: { + parameters: { + query: { + /** @description The livestream id. */ + liveStreamId: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Livestream closed. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OpenLiveStream: { + parameters: { + query?: { + /** @description The open token. */ + openToken?: string; + /** @description The user id. */ + userId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The maximum streaming bitrate. */ + maxStreamingBitrate?: number; + /** @description The start time in ticks. */ + startTimeTicks?: number; + /** @description The audio stream index. */ + audioStreamIndex?: number; + /** @description The subtitle stream index. */ + subtitleStreamIndex?: number; + /** @description The maximum number of audio channels. */ + maxAudioChannels?: number; + /** @description The item id. */ + itemId?: string; + /** @description Whether to enable direct play. Default: true. */ + enableDirectPlay?: boolean; + /** @description Whether to enable direct stream. Default: true. */ + enableDirectStream?: boolean; + /** @description Always burn-in subtitle when transcoding. */ + alwaysBurnInSubtitleWhenTranscoding?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The open live stream dto. */ + requestBody?: { + content: { + "application/json": components["schemas"]["OpenLiveStreamDto"]; + "text/json": components["schemas"]["OpenLiveStreamDto"]; + "application/*+json": components["schemas"]["OpenLiveStreamDto"]; + }; + }; + responses: { + /** @description Media source opened. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiveStreamResponse"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["LiveStreamResponse"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["LiveStreamResponse"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetBitrateTestBytes: { + parameters: { + query?: { + /** @description The bitrate. Defaults to 102400. */ + size?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Test buffer returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/octet-stream": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetItemSegments: { + parameters: { + query?: { + /** @description Optional filter of requested segment types. */ + includeSegmentTypes?: components["schemas"]["MediaSegmentType"][]; + }; + header?: never; + path: { + /** @description The ItemId. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MediaSegmentDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["MediaSegmentDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["MediaSegmentDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetMovieRecommendations: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. The fields to return. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description The max number of categories to return. */ + categoryLimit?: number; + /** @description The max number of items to return per category. */ + itemLimit?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Movie recommendations returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RecommendationDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RecommendationDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RecommendationDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetMusicGenres: { + parameters: { + query?: { + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description The search term. */ + searchTerm?: string; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional filter by items that are marked as favorite, or not. */ + isFavorite?: boolean; + /** @description Optional, the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description User id. */ + userId?: string; + /** @description Optional filter by items whose name is sorted equally or greater than a given input string. */ + nameStartsWithOrGreater?: string; + /** @description Optional filter by items whose name is sorted equally than a given input string. */ + nameStartsWith?: string; + /** @description Optional filter by items whose name is equally or lesser than a given input string. */ + nameLessThan?: string; + /** @description Optional. Specify one or more sort orders, comma delimited. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Sort Order - Ascending,Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + /** @description Optional, include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Music genres returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetMusicGenre: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description The genre name. */ + genreName: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetPackages: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Available packages returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PackageInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PackageInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PackageInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetPackageInfo: { + parameters: { + query?: { + /** @description The GUID of the associated assembly. */ + assemblyGuid?: string; + }; + header?: never; + path: { + /** @description The name of the package. */ + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Package retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PackageInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PackageInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PackageInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + InstallPackage: { + parameters: { + query?: { + /** @description GUID of the associated assembly. */ + assemblyGuid?: string; + /** @description Optional version. Defaults to latest version. */ + version?: string; + /** @description Optional. Specify the repository to install from. */ + repositoryUrl?: string; + }; + header?: never; + path: { + /** @description Package name. */ + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Package found. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Package not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + CancelPackageInstallation: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Installation Id. */ + packageId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Installation cancelled. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetRepositories: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Package repositories returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RepositoryInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RepositoryInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RepositoryInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SetRepositories: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The list of package repositories. */ + requestBody: { + content: { + "application/json": components["schemas"]["RepositoryInfo"][]; + "text/json": components["schemas"]["RepositoryInfo"][]; + "application/*+json": components["schemas"]["RepositoryInfo"][]; + }; + }; + responses: { + /** @description Package repositories saved. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetPersons: { + parameters: { + query?: { + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description The search term. */ + searchTerm?: string; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Specify additional filters to apply. */ + filters?: components["schemas"]["ItemFilter"][]; + /** @description Optional filter by items that are marked as favorite, or not. userId is required. */ + isFavorite?: boolean; + /** @description Optional, include user data. */ + enableUserData?: boolean; + /** @description Optional, the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. If specified results will be filtered to exclude those containing the specified PersonType. Allows multiple, comma-delimited. */ + excludePersonTypes?: string[]; + /** @description Optional. If specified results will be filtered to include only those containing the specified PersonType. Allows multiple, comma-delimited. */ + personTypes?: string[]; + /** @description Optional. If specified, person results will be filtered on items related to said persons. */ + appearsInItemId?: string; + /** @description User id. */ + userId?: string; + /** @description Optional, include image information in output. */ + enableImages?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Persons returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetPerson: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description Person name. */ + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Person returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Person not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + CreatePlaylist: { + parameters: { + query?: { + /** + * @deprecated + * @description The playlist name. + */ + name?: string; + /** + * @deprecated + * @description The item ids. + */ + ids?: string[]; + /** + * @deprecated + * @description The user id. + */ + userId?: string; + /** + * @deprecated + * @description The media type. + */ + mediaType?: "Unknown" | "Video" | "Audio" | "Photo" | "Book"; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The create playlist payload. */ + requestBody?: { + content: { + "application/json": components["schemas"]["CreatePlaylistDto"]; + "text/json": components["schemas"]["CreatePlaylistDto"]; + "application/*+json": components["schemas"]["CreatePlaylistDto"]; + }; + }; + responses: { + /** @description Playlist created. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlaylistCreationResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PlaylistCreationResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PlaylistCreationResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetPlaylist: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The playlist. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlaylistDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PlaylistDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PlaylistDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Playlist not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdatePlaylist: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + }; + cookie?: never; + }; + /** @description The Jellyfin.Api.Models.PlaylistDtos.UpdatePlaylistDto id. */ + requestBody: { + content: { + "application/json": components["schemas"]["UpdatePlaylistDto"]; + "text/json": components["schemas"]["UpdatePlaylistDto"]; + "application/*+json": components["schemas"]["UpdatePlaylistDto"]; + }; + }; + responses: { + /** @description Playlist updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Access forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Playlist not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPlaylistItems: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + }; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Original playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Playlist not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + AddItemToPlaylist: { + parameters: { + query?: { + /** @description Item id, comma delimited. */ + ids?: string[]; + /** @description The userId. */ + userId?: string; + }; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Items added to playlist. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Access forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Playlist not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + RemoveItemFromPlaylist: { + parameters: { + query?: { + /** @description The item ids, comma delimited. */ + entryIds?: string[]; + }; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Items removed. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Access forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Playlist not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + MoveItem: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + /** @description The item id. */ + itemId: string; + /** @description The new index. */ + newIndex: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item moved to new index. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Access forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Playlist not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPlaylistUsers: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Found shares. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlaylistUserPermissions"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PlaylistUserPermissions"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PlaylistUserPermissions"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Access forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Playlist not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPlaylistUser: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + /** @description The user id. */ + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User permission found. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PlaylistUserPermissions"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PlaylistUserPermissions"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PlaylistUserPermissions"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Access forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Playlist not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdatePlaylistUser: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + /** @description The user id. */ + userId: string; + }; + cookie?: never; + }; + /** @description The Jellyfin.Api.Models.PlaylistDtos.UpdatePlaylistUserDto. */ + requestBody: { + content: { + "application/json": components["schemas"]["UpdatePlaylistUserDto"]; + "text/json": components["schemas"]["UpdatePlaylistUserDto"]; + "application/*+json": components["schemas"]["UpdatePlaylistUserDto"]; + }; + }; + responses: { + /** @description User's permissions modified. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Access forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Playlist not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + RemoveUserFromPlaylist: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The playlist id. */ + playlistId: string; + /** @description The user id. */ + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User permissions removed from playlist. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized access. */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description No playlist or user permissions found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + OnPlaybackStart: { + parameters: { + query?: { + /** @description The id of the MediaSource. */ + mediaSourceId?: string; + /** @description The audio stream index. */ + audioStreamIndex?: number; + /** @description The subtitle stream index. */ + subtitleStreamIndex?: number; + /** @description The play method. */ + playMethod?: "Transcode" | "DirectStream" | "DirectPlay"; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description Indicates if the client can seek. */ + canSeek?: boolean; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Play start recorded. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OnPlaybackStopped: { + parameters: { + query?: { + /** @description The id of the MediaSource. */ + mediaSourceId?: string; + /** @description The next media type that will play. */ + nextMediaType?: string; + /** @description Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms. */ + positionTicks?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description The play session id. */ + playSessionId?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Playback stop recorded. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OnPlaybackProgress: { + parameters: { + query?: { + /** @description The id of the MediaSource. */ + mediaSourceId?: string; + /** @description Optional. The current position, in ticks. 1 tick = 10000 ms. */ + positionTicks?: number; + /** @description The audio stream index. */ + audioStreamIndex?: number; + /** @description The subtitle stream index. */ + subtitleStreamIndex?: number; + /** @description Scale of 0-100. */ + volumeLevel?: number; + /** @description The play method. */ + playMethod?: "Transcode" | "DirectStream" | "DirectPlay"; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The repeat mode. */ + repeatMode?: "RepeatNone" | "RepeatAll" | "RepeatOne"; + /** @description Indicates if the player is paused. */ + isPaused?: boolean; + /** @description Indicates if the player is muted. */ + isMuted?: boolean; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Play progress recorded. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ReportPlaybackStart: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The playback start info. */ + requestBody?: { + content: { + "application/json": components["schemas"]["PlaybackStartInfo"]; + "text/json": components["schemas"]["PlaybackStartInfo"]; + "application/*+json": components["schemas"]["PlaybackStartInfo"]; + }; + }; + responses: { + /** @description Playback start recorded. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + PingPlaybackSession: { + parameters: { + query: { + /** @description Playback session id. */ + playSessionId: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Playback session pinged. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ReportPlaybackProgress: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The playback progress info. */ + requestBody?: { + content: { + "application/json": components["schemas"]["PlaybackProgressInfo"]; + "text/json": components["schemas"]["PlaybackProgressInfo"]; + "application/*+json": components["schemas"]["PlaybackProgressInfo"]; + }; + }; + responses: { + /** @description Playback progress recorded. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ReportPlaybackStopped: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The playback stop info. */ + requestBody?: { + content: { + "application/json": components["schemas"]["PlaybackStopInfo"]; + "text/json": components["schemas"]["PlaybackStopInfo"]; + "application/*+json": components["schemas"]["PlaybackStopInfo"]; + }; + }; + responses: { + /** @description Playback stop recorded. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + MarkPlayedItem: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + /** @description Optional. The date the item was played. */ + datePlayed?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item marked as played. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserItemDataDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + MarkUnplayedItem: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item marked as unplayed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserItemDataDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPlugins: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Installed plugins returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PluginInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PluginInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PluginInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UninstallPlugin: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Plugin id. */ + pluginId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Plugin uninstalled. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Plugin not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UninstallPluginByVersion: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Plugin id. */ + pluginId: string; + /** @description Plugin version. */ + version: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Plugin uninstalled. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Plugin not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DisablePlugin: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Plugin id. */ + pluginId: string; + /** @description Plugin version. */ + version: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Plugin disabled. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Plugin not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + EnablePlugin: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Plugin id. */ + pluginId: string; + /** @description Plugin version. */ + version: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Plugin enabled. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Plugin not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPluginImage: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Plugin id. */ + pluginId: string; + /** @description Plugin version. */ + version: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Plugin image returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPluginConfiguration: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Plugin id. */ + pluginId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Plugin configuration returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BasePluginConfiguration"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BasePluginConfiguration"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BasePluginConfiguration"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Plugin not found or plugin configuration not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdatePluginConfiguration: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Plugin id. */ + pluginId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Plugin configuration updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Plugin not found or plugin does not have configuration. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPluginManifest: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Plugin id. */ + pluginId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Plugin manifest returned. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Plugin not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + AuthorizeQuickConnect: { + parameters: { + query: { + /** @description Quick connect code to authorize. */ + code: string; + /** @description The user the authorize. Access to the requested user is required. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Quick connect result authorized successfully. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": boolean; + "application/json; profile=\"CamelCase\"": boolean; + "application/json; profile=\"PascalCase\"": boolean; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unknown user id. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetQuickConnectState: { + parameters: { + query: { + /** @description Secret previously returned from the Initiate endpoint. */ + secret: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Quick connect result returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QuickConnectResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["QuickConnectResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["QuickConnectResult"]; + }; + }; + /** @description Unknown quick connect secret. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetQuickConnectEnabled: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Quick connect state returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": boolean; + "application/json; profile=\"CamelCase\"": boolean; + "application/json; profile=\"PascalCase\"": boolean; + }; + }; + }; + }; + InitiateQuickConnect: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Quick connect request successfully created. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["QuickConnectResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["QuickConnectResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["QuickConnectResult"]; + }; + }; + /** @description Quick connect is not active on this server. */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetRemoteImages: { + parameters: { + query?: { + /** @description The image type. */ + type?: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. The image provider to use. */ + providerName?: string; + /** @description Optional. Include all languages. */ + includeAllLanguages?: boolean; + }; + header?: never; + path: { + /** @description Item Id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Remote Images returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteImageResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteImageResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteImageResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DownloadRemoteImage: { + parameters: { + query: { + /** @description The image type. */ + type: "Primary" | "Art" | "Backdrop" | "Banner" | "Logo" | "Thumb" | "Disc" | "Box" | "Screenshot" | "Menu" | "Chapter" | "BoxRear" | "Profile"; + /** @description The image url. */ + imageUrl?: string; + }; + header?: never; + path: { + /** @description Item Id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Remote image downloaded. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Remote image not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetRemoteImageProviders: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Item Id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Returned remote image providers. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ImageProviderInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ImageProviderInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ImageProviderInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetTasks: { + parameters: { + query?: { + /** @description Optional filter tasks that are hidden, or not. */ + isHidden?: boolean; + /** @description Optional filter tasks that are enabled, or not. */ + isEnabled?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Scheduled tasks retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TaskInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["TaskInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["TaskInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task Id. */ + taskId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Task retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["TaskInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["TaskInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["TaskInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Task not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdateTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task Id. */ + taskId: string; + }; + cookie?: never; + }; + /** @description Triggers. */ + requestBody: { + content: { + "application/json": components["schemas"]["TaskTriggerInfo"][]; + "text/json": components["schemas"]["TaskTriggerInfo"][]; + "application/*+json": components["schemas"]["TaskTriggerInfo"][]; + }; + }; + responses: { + /** @description Task triggers updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Task not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + StartTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task Id. */ + taskId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Task started. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Task not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + StopTask: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Task Id. */ + taskId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Task stopped. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Task not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetSearchHints: { + parameters: { + query: { + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Supply a user id to search within a user's library or omit to search all. */ + userId?: string; + /** @description The search term to filter on. */ + searchTerm: string; + /** @description If specified, only results with the specified item types are returned. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description If specified, results with these item types are filtered out. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description If specified, only results with the specified media types are returned. This allows multiple, comma delimited. */ + mediaTypes?: components["schemas"]["MediaType"][]; + /** @description If specified, only children of the parent are returned. */ + parentId?: string; + /** @description Optional filter for movies. */ + isMovie?: boolean; + /** @description Optional filter for series. */ + isSeries?: boolean; + /** @description Optional filter for news. */ + isNews?: boolean; + /** @description Optional filter for kids. */ + isKids?: boolean; + /** @description Optional filter for sports. */ + isSports?: boolean; + /** @description Optional filter whether to include people. */ + includePeople?: boolean; + /** @description Optional filter whether to include media. */ + includeMedia?: boolean; + /** @description Optional filter whether to include genres. */ + includeGenres?: boolean; + /** @description Optional filter whether to include studios. */ + includeStudios?: boolean; + /** @description Optional filter whether to include artists. */ + includeArtists?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Search hint returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SearchHintResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["SearchHintResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["SearchHintResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetPasswordResetProviders: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Password reset providers retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NameIdPair"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["NameIdPair"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["NameIdPair"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetAuthProviders: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Auth providers retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NameIdPair"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["NameIdPair"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["NameIdPair"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSessions: { + parameters: { + query?: { + /** @description Filter by sessions that a given user is allowed to remote control. */ + controllableByUserId?: string; + /** @description Filter by device Id. */ + deviceId?: string; + /** @description Optional. Filter by sessions that were active in the last n seconds. */ + activeWithinSeconds?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of sessions returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SessionInfoDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["SessionInfoDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["SessionInfoDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SendFullGeneralCommand: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The session id. */ + sessionId: string; + }; + cookie?: never; + }; + /** @description The MediaBrowser.Model.Session.GeneralCommand. */ + requestBody: { + content: { + "application/json": components["schemas"]["GeneralCommand"]; + "text/json": components["schemas"]["GeneralCommand"]; + "application/*+json": components["schemas"]["GeneralCommand"]; + }; + }; + responses: { + /** @description Full general command sent to session. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SendGeneralCommand: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The session id. */ + sessionId: string; + /** @description The command to send. */ + command: "MoveUp" | "MoveDown" | "MoveLeft" | "MoveRight" | "PageUp" | "PageDown" | "PreviousLetter" | "NextLetter" | "ToggleOsd" | "ToggleContextMenu" | "Select" | "Back" | "TakeScreenshot" | "SendKey" | "SendString" | "GoHome" | "GoToSettings" | "VolumeUp" | "VolumeDown" | "Mute" | "Unmute" | "ToggleMute" | "SetVolume" | "SetAudioStreamIndex" | "SetSubtitleStreamIndex" | "ToggleFullscreen" | "DisplayContent" | "GoToSearch" | "DisplayMessage" | "SetRepeatMode" | "ChannelUp" | "ChannelDown" | "Guide" | "ToggleStats" | "PlayMediaSource" | "PlayTrailers" | "SetShuffleQueue" | "PlayState" | "PlayNext" | "ToggleOsdMenu" | "Play" | "SetMaxStreamingBitrate" | "SetPlaybackOrder"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description General command sent to session. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SendMessageCommand: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The session id. */ + sessionId: string; + }; + cookie?: never; + }; + /** @description The MediaBrowser.Model.Session.MessageCommand object containing Header, Message Text, and TimeoutMs. */ + requestBody: { + content: { + "application/json": components["schemas"]["MessageCommand"]; + "text/json": components["schemas"]["MessageCommand"]; + "application/*+json": components["schemas"]["MessageCommand"]; + }; + }; + responses: { + /** @description Message sent. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + Play: { + parameters: { + query: { + /** @description The type of play command to issue (PlayNow, PlayNext, PlayLast). Clients who have not yet implemented play next and play last may play now. */ + playCommand: "PlayNow" | "PlayNext" | "PlayLast" | "PlayInstantMix" | "PlayShuffle"; + /** @description The ids of the items to play, comma delimited. */ + itemIds: string[]; + /** @description The starting position of the first item. */ + startPositionTicks?: number; + /** @description Optional. The media source id. */ + mediaSourceId?: string; + /** @description Optional. The index of the audio stream to play. */ + audioStreamIndex?: number; + /** @description Optional. The index of the subtitle stream to play. */ + subtitleStreamIndex?: number; + /** @description Optional. The start index. */ + startIndex?: number; + }; + header?: never; + path: { + /** @description The session id. */ + sessionId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instruction sent to session. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SendPlaystateCommand: { + parameters: { + query?: { + /** @description The optional position ticks. */ + seekPositionTicks?: number; + /** @description The optional controlling user id. */ + controllingUserId?: string; + }; + header?: never; + path: { + /** @description The session id. */ + sessionId: string; + /** @description The MediaBrowser.Model.Session.PlaystateCommand. */ + command: "Stop" | "Pause" | "Unpause" | "NextTrack" | "PreviousTrack" | "Seek" | "Rewind" | "FastForward" | "PlayPause"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Playstate command sent to session. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SendSystemCommand: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The session id. */ + sessionId: string; + /** @description The command to send. */ + command: "MoveUp" | "MoveDown" | "MoveLeft" | "MoveRight" | "PageUp" | "PageDown" | "PreviousLetter" | "NextLetter" | "ToggleOsd" | "ToggleContextMenu" | "Select" | "Back" | "TakeScreenshot" | "SendKey" | "SendString" | "GoHome" | "GoToSettings" | "VolumeUp" | "VolumeDown" | "Mute" | "Unmute" | "ToggleMute" | "SetVolume" | "SetAudioStreamIndex" | "SetSubtitleStreamIndex" | "ToggleFullscreen" | "DisplayContent" | "GoToSearch" | "DisplayMessage" | "SetRepeatMode" | "ChannelUp" | "ChannelDown" | "Guide" | "ToggleStats" | "PlayMediaSource" | "PlayTrailers" | "SetShuffleQueue" | "PlayState" | "PlayNext" | "ToggleOsdMenu" | "Play" | "SetMaxStreamingBitrate" | "SetPlaybackOrder"; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description System command sent to session. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + AddUserToSession: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The session id. */ + sessionId: string; + /** @description The user id. */ + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User added to session. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + RemoveUserFromSession: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The session id. */ + sessionId: string; + /** @description The user id. */ + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User removed from session. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DisplayContent: { + parameters: { + query: { + /** @description The type of item to browse to. */ + itemType: "AggregateFolder" | "Audio" | "AudioBook" | "BasePluginFolder" | "Book" | "BoxSet" | "Channel" | "ChannelFolderItem" | "CollectionFolder" | "Episode" | "Folder" | "Genre" | "ManualPlaylistsFolder" | "Movie" | "LiveTvChannel" | "LiveTvProgram" | "MusicAlbum" | "MusicArtist" | "MusicGenre" | "MusicVideo" | "Person" | "Photo" | "PhotoAlbum" | "Playlist" | "PlaylistsFolder" | "Program" | "Recording" | "Season" | "Series" | "Studio" | "Trailer" | "TvChannel" | "TvProgram" | "UserRootFolder" | "UserView" | "Video" | "Year"; + /** @description The Id of the item. */ + itemId: string; + /** @description The name of the item. */ + itemName: string; + }; + header?: never; + path: { + /** @description The session Id. */ + sessionId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Instruction sent to session. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + PostCapabilities: { + parameters: { + query?: { + /** @description The session id. */ + id?: string; + /** @description A list of playable media types, comma delimited. Audio, Video, Book, Photo. */ + playableMediaTypes?: components["schemas"]["MediaType"][]; + /** @description A list of supported remote control commands, comma delimited. */ + supportedCommands?: components["schemas"]["GeneralCommandType"][]; + /** @description Determines whether media can be played remotely.. */ + supportsMediaControl?: boolean; + /** @description Determines whether the device supports a unique identifier. */ + supportsPersistentIdentifier?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Capabilities posted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + PostFullCapabilities: { + parameters: { + query?: { + /** @description The session id. */ + id?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The MediaBrowser.Model.Session.ClientCapabilities. */ + requestBody: { + content: { + "application/json": components["schemas"]["ClientCapabilitiesDto"]; + "text/json": components["schemas"]["ClientCapabilitiesDto"]; + "application/*+json": components["schemas"]["ClientCapabilitiesDto"]; + }; + }; + responses: { + /** @description Capabilities updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ReportSessionEnded: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Session end reported to server. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + ReportViewing: { + parameters: { + query: { + /** @description The session id. */ + sessionId?: string; + /** @description The item id. */ + itemId: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Session reported to server. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + AddCanonicalLink: { + parameters: { + query?: never; + header?: never; + path: { + mode: string; + provider: string; + jellyfinUserId: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["AuthResponse"]; + }; + }; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DeleteCanonicalLink: { + parameters: { + query?: never; + header?: never; + path: { + mode: string; + provider: string; + jellyfinUserId: string; + canonicalName: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidAdd: { + parameters: { + query?: never; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["OidConfig"]; + "text/json": components["schemas"]["OidConfig"]; + "application/*+json": components["schemas"]["OidConfig"]; + }; + }; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidAuth: { + parameters: { + query?: never; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["AuthResponse"]; + }; + }; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidDel: { + parameters: { + query?: never; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidProviders: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidProviderNames: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetOidLinksByUser: { + parameters: { + query?: never; + header?: never; + path: { + jellyfinUserId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: string[]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidChallenge: { + parameters: { + query?: { + isLinking?: boolean; + }; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidPost: { + parameters: { + query?: { + state?: string; + }; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidPost: { + parameters: { + query?: { + state?: string; + }; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidChallenge: { + parameters: { + query?: { + isLinking?: boolean; + }; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + OidStates: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SamlAdd: { + parameters: { + query?: never; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["SamlConfig"]; + "text/json": components["schemas"]["SamlConfig"]; + "application/*+json": components["schemas"]["SamlConfig"]; + }; + }; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SamlAuth: { + parameters: { + query?: never; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["AuthResponse"]; + }; + }; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SamlDel: { + parameters: { + query?: never; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SamlProviders: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SamlProviderNames: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSamlLinksByUser: { + parameters: { + query?: never; + header?: never; + path: { + jellyfinUserId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: string[]; + }; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SamlChallenge: { + parameters: { + query?: { + isLinking?: boolean; + }; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SamlPost: { + parameters: { + query?: { + relayState?: string; + }; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SamlPost: { + parameters: { + query?: { + relayState?: string; + }; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SamlChallenge: { + parameters: { + query?: { + isLinking?: boolean; + }; + header?: never; + path: { + provider: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + Unregister: { + parameters: { + query?: never; + header?: never; + path: { + username: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": string; + "text/json": string; + "application/*+json": string; + }; + }; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetView: { + parameters: { + query?: never; + header?: never; + path: { + viewName: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + CompleteWizard: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Startup wizard completed. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetStartupConfiguration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Initial startup wizard configuration retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StartupConfigurationDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["StartupConfigurationDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["StartupConfigurationDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateInitialConfiguration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The updated startup configuration. */ + requestBody: { + content: { + "application/json": components["schemas"]["StartupConfigurationDto"]; + "text/json": components["schemas"]["StartupConfigurationDto"]; + "application/*+json": components["schemas"]["StartupConfigurationDto"]; + }; + }; + responses: { + /** @description Configuration saved. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetFirstUser_2: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Initial user retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StartupUserDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["StartupUserDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["StartupUserDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SetRemoteAccess: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The startup remote access dto. */ + requestBody: { + content: { + "application/json": components["schemas"]["StartupRemoteAccessDto"]; + "text/json": components["schemas"]["StartupRemoteAccessDto"]; + "application/*+json": components["schemas"]["StartupRemoteAccessDto"]; + }; + }; + responses: { + /** @description Configuration saved. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetFirstUser: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Initial user retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StartupUserDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["StartupUserDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["StartupUserDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateStartupUser: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The DTO containing username and password. */ + requestBody?: { + content: { + "application/json": components["schemas"]["StartupUserDto"]; + "text/json": components["schemas"]["StartupUserDto"]; + "application/*+json": components["schemas"]["StartupUserDto"]; + }; + }; + responses: { + /** @description Updated user name and password. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetStudios: { + parameters: { + query?: { + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Search term. */ + searchTerm?: string; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional filter by items that are marked as favorite, or not. */ + isFavorite?: boolean; + /** @description Optional, include user data. */ + enableUserData?: boolean; + /** @description Optional, the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description User id. */ + userId?: string; + /** @description Optional filter by items whose name is sorted equally or greater than a given input string. */ + nameStartsWithOrGreater?: string; + /** @description Optional filter by items whose name is sorted equally than a given input string. */ + nameStartsWith?: string; + /** @description Optional filter by items whose name is equally or lesser than a given input string. */ + nameLessThan?: string; + /** @description Optional, include image information in output. */ + enableImages?: boolean; + /** @description Total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Studios returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetStudio: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description Studio name. */ + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Studio returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetFallbackFontList: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Information retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["FontFile"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["FontFile"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["FontFile"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetFallbackFont: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the fallback font file to get. */ + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Fallback font file retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "font/*": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SearchRemoteSubtitles: { + parameters: { + query?: { + /** @description Optional. Only show subtitles which are a perfect match. */ + isPerfectMatch?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The language of the subtitles. */ + language: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Subtitles retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RemoteSubtitleInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["RemoteSubtitleInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["RemoteSubtitleInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DownloadRemoteSubtitles: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The subtitle id. */ + subtitleId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Subtitle downloaded. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetRemoteSubtitles: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + subtitleId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description File returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/*": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSubtitlePlaylist: { + parameters: { + query: { + /** @description The subtitle segment length. */ + segmentLength: number; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The subtitle stream index. */ + index: number; + /** @description The media source id. */ + mediaSourceId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Subtitle playlist retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UploadSubtitle: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item the subtitle belongs to. */ + itemId: string; + }; + cookie?: never; + }; + /** @description The request body. */ + requestBody: { + content: { + "application/json": components["schemas"]["UploadSubtitleDto"]; + "text/json": components["schemas"]["UploadSubtitleDto"]; + "application/*+json": components["schemas"]["UploadSubtitleDto"]; + }; + }; + responses: { + /** @description Subtitle uploaded. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DeleteSubtitle: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The index of the subtitle file. */ + index: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Subtitle deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetSubtitleWithTicks: { + parameters: { + query?: { + /** + * @deprecated + * @description The item id. + */ + itemId?: string; + /** + * @deprecated + * @description The media source id. + */ + mediaSourceId?: string; + /** + * @deprecated + * @description The subtitle stream index. + */ + index?: number; + /** + * @deprecated + * @description The start position of the subtitle in ticks. + */ + startPositionTicks?: number; + /** + * @deprecated + * @description The format of the returned subtitle. + */ + format?: string; + /** @description Optional. The end position of the subtitle in ticks. */ + endPositionTicks?: number; + /** @description Optional. Whether to copy the timestamps. */ + copyTimestamps?: boolean; + /** @description Optional. Whether to add a VTT time map. */ + addVttTimeMap?: boolean; + }; + header?: never; + path: { + /** @description The (route) item id. */ + routeItemId: string; + /** @description The (route) media source id. */ + routeMediaSourceId: string; + /** @description The (route) subtitle stream index. */ + routeIndex: number; + /** @description The (route) start position of the subtitle in ticks. */ + routeStartPositionTicks: number; + /** @description The (route) format of the returned subtitle. */ + routeFormat: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description File returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/*": string; + }; + }; + }; + }; + GetSubtitle: { + parameters: { + query?: { + /** + * @deprecated + * @description The item id. + */ + itemId?: string; + /** + * @deprecated + * @description The media source id. + */ + mediaSourceId?: string; + /** + * @deprecated + * @description The subtitle stream index. + */ + index?: number; + /** + * @deprecated + * @description The format of the returned subtitle. + */ + format?: string; + /** @description Optional. The end position of the subtitle in ticks. */ + endPositionTicks?: number; + /** @description Optional. Whether to copy the timestamps. */ + copyTimestamps?: boolean; + /** @description Optional. Whether to add a VTT time map. */ + addVttTimeMap?: boolean; + /** @description The start position of the subtitle in ticks. */ + startPositionTicks?: number; + }; + header?: never; + path: { + /** @description The (route) item id. */ + routeItemId: string; + /** @description The (route) media source id. */ + routeMediaSourceId: string; + /** @description The (route) subtitle stream index. */ + routeIndex: number; + /** @description The (route) format of the returned subtitle. */ + routeFormat: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description File returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/*": string; + }; + }; + }; + }; + GetSuggestions: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + /** @description The media types. */ + mediaType?: components["schemas"]["MediaType"][]; + /** @description The type. */ + type?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. The start index. */ + startIndex?: number; + /** @description Optional. The limit. */ + limit?: number; + /** @description Whether to enable the total record count. */ + enableTotalRecordCount?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Suggestions returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayBuffering: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The player status. */ + requestBody: { + content: { + "application/json": components["schemas"]["BufferRequestDto"]; + "text/json": components["schemas"]["BufferRequestDto"]; + "application/*+json": components["schemas"]["BufferRequestDto"]; + }; + }; + responses: { + /** @description Group state update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayJoinGroup: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The group to join. */ + requestBody: { + content: { + "application/json": components["schemas"]["JoinGroupRequestDto"]; + "text/json": components["schemas"]["JoinGroupRequestDto"]; + "application/*+json": components["schemas"]["JoinGroupRequestDto"]; + }; + }; + responses: { + /** @description Group join successful. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayLeaveGroup: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Group leave successful. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayGetGroups: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Groups returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["GroupInfoDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["GroupInfoDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["GroupInfoDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayMovePlaylistItem: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The new position for the item. */ + requestBody: { + content: { + "application/json": components["schemas"]["MovePlaylistItemRequestDto"]; + "text/json": components["schemas"]["MovePlaylistItemRequestDto"]; + "application/*+json": components["schemas"]["MovePlaylistItemRequestDto"]; + }; + }; + responses: { + /** @description Queue update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayCreateGroup: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The settings of the new group. */ + requestBody: { + content: { + "application/json": components["schemas"]["NewGroupRequestDto"]; + "text/json": components["schemas"]["NewGroupRequestDto"]; + "application/*+json": components["schemas"]["NewGroupRequestDto"]; + }; + }; + responses: { + /** @description New group created. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayNextItem: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The current item information. */ + requestBody: { + content: { + "application/json": components["schemas"]["NextItemRequestDto"]; + "text/json": components["schemas"]["NextItemRequestDto"]; + "application/*+json": components["schemas"]["NextItemRequestDto"]; + }; + }; + responses: { + /** @description Next item update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayPause: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Pause update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayPing: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The new ping. */ + requestBody: { + content: { + "application/json": components["schemas"]["PingRequestDto"]; + "text/json": components["schemas"]["PingRequestDto"]; + "application/*+json": components["schemas"]["PingRequestDto"]; + }; + }; + responses: { + /** @description Ping updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayPreviousItem: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The current item information. */ + requestBody: { + content: { + "application/json": components["schemas"]["PreviousItemRequestDto"]; + "text/json": components["schemas"]["PreviousItemRequestDto"]; + "application/*+json": components["schemas"]["PreviousItemRequestDto"]; + }; + }; + responses: { + /** @description Previous item update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayQueue: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The items to add. */ + requestBody: { + content: { + "application/json": components["schemas"]["QueueRequestDto"]; + "text/json": components["schemas"]["QueueRequestDto"]; + "application/*+json": components["schemas"]["QueueRequestDto"]; + }; + }; + responses: { + /** @description Queue update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayReady: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The player status. */ + requestBody: { + content: { + "application/json": components["schemas"]["ReadyRequestDto"]; + "text/json": components["schemas"]["ReadyRequestDto"]; + "application/*+json": components["schemas"]["ReadyRequestDto"]; + }; + }; + responses: { + /** @description Group state update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayRemoveFromPlaylist: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The items to remove. */ + requestBody: { + content: { + "application/json": components["schemas"]["RemoveFromPlaylistRequestDto"]; + "text/json": components["schemas"]["RemoveFromPlaylistRequestDto"]; + "application/*+json": components["schemas"]["RemoveFromPlaylistRequestDto"]; + }; + }; + responses: { + /** @description Queue update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlaySeek: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The new playback position. */ + requestBody: { + content: { + "application/json": components["schemas"]["SeekRequestDto"]; + "text/json": components["schemas"]["SeekRequestDto"]; + "application/*+json": components["schemas"]["SeekRequestDto"]; + }; + }; + responses: { + /** @description Seek update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlaySetIgnoreWait: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The settings to set. */ + requestBody: { + content: { + "application/json": components["schemas"]["IgnoreWaitRequestDto"]; + "text/json": components["schemas"]["IgnoreWaitRequestDto"]; + "application/*+json": components["schemas"]["IgnoreWaitRequestDto"]; + }; + }; + responses: { + /** @description Member state updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlaySetNewQueue: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The new playlist to play in the group. */ + requestBody: { + content: { + "application/json": components["schemas"]["PlayRequestDto"]; + "text/json": components["schemas"]["PlayRequestDto"]; + "application/*+json": components["schemas"]["PlayRequestDto"]; + }; + }; + responses: { + /** @description Queue update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlaySetPlaylistItem: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The new item to play. */ + requestBody: { + content: { + "application/json": components["schemas"]["SetPlaylistItemRequestDto"]; + "text/json": components["schemas"]["SetPlaylistItemRequestDto"]; + "application/*+json": components["schemas"]["SetPlaylistItemRequestDto"]; + }; + }; + responses: { + /** @description Queue update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlaySetRepeatMode: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The new repeat mode. */ + requestBody: { + content: { + "application/json": components["schemas"]["SetRepeatModeRequestDto"]; + "text/json": components["schemas"]["SetRepeatModeRequestDto"]; + "application/*+json": components["schemas"]["SetRepeatModeRequestDto"]; + }; + }; + responses: { + /** @description Play queue update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlaySetShuffleMode: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The new shuffle mode. */ + requestBody: { + content: { + "application/json": components["schemas"]["SetShuffleModeRequestDto"]; + "text/json": components["schemas"]["SetShuffleModeRequestDto"]; + "application/*+json": components["schemas"]["SetShuffleModeRequestDto"]; + }; + }; + responses: { + /** @description Play queue update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayStop: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Stop update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + SyncPlayUnpause: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Unpause update sent to all group members. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetEndpointInfo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Information retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EndPointInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["EndPointInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["EndPointInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to get endpoint information. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetSystemInfo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Information retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SystemInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["SystemInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["SystemInfo"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to retrieve information. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPublicSystemInfo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Information retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PublicSystemInfo"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PublicSystemInfo"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PublicSystemInfo"]; + }; + }; + }; + }; + GetServerLogs: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Information retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LogFile"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["LogFile"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["LogFile"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to get server logs. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetLogFile: { + parameters: { + query: { + /** @description The name of the log file to get. */ + name: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Log file retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to get log files. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Could not find a log file with the name. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPingSystem: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Information retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + "application/json; profile=\"CamelCase\"": string; + "application/json; profile=\"PascalCase\"": string; + }; + }; + }; + }; + PostPingSystem: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Information retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + "application/json; profile=\"CamelCase\"": string; + "application/json; profile=\"PascalCase\"": string; + }; + }; + }; + }; + RestartApplication: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Server restarted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to restart server. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + ShutdownApplication: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Server shut down. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User does not have permission to shutdown server. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetWakeOnLanInfo: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Information retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WakeOnLanInfo"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["WakeOnLanInfo"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["WakeOnLanInfo"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetUtcTime: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Time returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UtcTimeResponse"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UtcTimeResponse"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UtcTimeResponse"]; + }; + }; + }; + }; + TmdbClientConfiguration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ConfigImageTypes"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetTrailers: { + parameters: { + query?: { + /** @description The user id supplied as query parameter; this is required when not using an API key. */ + userId?: string; + /** @description Optional filter by maximum official rating (PG, PG-13, TV-MA, etc). */ + maxOfficialRating?: string; + /** @description Optional filter by items with theme songs. */ + hasThemeSong?: boolean; + /** @description Optional filter by items with theme videos. */ + hasThemeVideo?: boolean; + /** @description Optional filter by items with subtitles. */ + hasSubtitles?: boolean; + /** @description Optional filter by items with special features. */ + hasSpecialFeature?: boolean; + /** @description Optional filter by items with trailers. */ + hasTrailer?: boolean; + /** @description Optional. Return items that are siblings of a supplied item. */ + adjacentTo?: string; + /** @description Optional filter by parent index number. */ + parentIndexNumber?: number; + /** @description Optional filter by items that have or do not have a parental rating. */ + hasParentalRating?: boolean; + /** @description Optional filter by items that are HD or not. */ + isHd?: boolean; + /** @description Optional filter by items that are 4K or not. */ + is4K?: boolean; + /** @description Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited. */ + locationTypes?: components["schemas"]["LocationType"][]; + /** @description Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited. */ + excludeLocationTypes?: components["schemas"]["LocationType"][]; + /** @description Optional filter by items that are missing episodes or not. */ + isMissing?: boolean; + /** @description Optional filter by items that are unaired episodes or not. */ + isUnaired?: boolean; + /** @description Optional filter by minimum community rating. */ + minCommunityRating?: number; + /** @description Optional filter by minimum critic rating. */ + minCriticRating?: number; + /** @description Optional. The minimum premiere date. Format = ISO. */ + minPremiereDate?: string; + /** @description Optional. The minimum last saved date. Format = ISO. */ + minDateLastSaved?: string; + /** @description Optional. The minimum last saved date for the current user. Format = ISO. */ + minDateLastSavedForUser?: string; + /** @description Optional. The maximum premiere date. Format = ISO. */ + maxPremiereDate?: string; + /** @description Optional filter by items that have an overview or not. */ + hasOverview?: boolean; + /** @description Optional filter by items that have an IMDb id or not. */ + hasImdbId?: boolean; + /** @description Optional filter by items that have a TMDb id or not. */ + hasTmdbId?: boolean; + /** @description Optional filter by items that have a TVDb id or not. */ + hasTvdbId?: boolean; + /** @description Optional filter for live tv movies. */ + isMovie?: boolean; + /** @description Optional filter for live tv series. */ + isSeries?: boolean; + /** @description Optional filter for live tv news. */ + isNews?: boolean; + /** @description Optional filter for live tv kids. */ + isKids?: boolean; + /** @description Optional filter for live tv sports. */ + isSports?: boolean; + /** @description Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited. */ + excludeItemIds?: string[]; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description When searching within folders, this determines whether or not the search will be recursive. true/false. */ + recursive?: boolean; + /** @description Optional. Filter based on a search term. */ + searchTerm?: string; + /** @description Sort Order - Ascending, Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes. */ + filters?: components["schemas"]["ItemFilter"][]; + /** @description Optional filter by items that are marked as favorite, or not. */ + isFavorite?: boolean; + /** @description Optional filter by MediaType. Allows multiple, comma delimited. */ + mediaTypes?: components["schemas"]["MediaType"][]; + /** @description Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited. */ + imageTypes?: components["schemas"]["ImageType"][]; + /** @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. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Optional filter by items that are played, or not. */ + isPlayed?: boolean; + /** @description Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. */ + genres?: string[]; + /** @description Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. */ + officialRatings?: string[]; + /** @description Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. */ + tags?: string[]; + /** @description Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. */ + years?: number[]; + /** @description Optional, include user data. */ + enableUserData?: boolean; + /** @description Optional, the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified person. */ + person?: string; + /** @description Optional. If specified, results will be filtered to include only those containing the specified person id. */ + personIds?: string[]; + /** @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. */ + personTypes?: string[]; + /** @description Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. */ + studios?: string[]; + /** @description Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited. */ + artists?: string[]; + /** @description Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited. */ + excludeArtistIds?: string[]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified artist id. */ + artistIds?: string[]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified album artist id. */ + albumArtistIds?: string[]; + /** @description Optional. If specified, results will be filtered to include only those containing the specified contributing artist id. */ + contributingArtistIds?: string[]; + /** @description Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited. */ + albums?: string[]; + /** @description Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited. */ + albumIds?: string[]; + /** @description Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited. */ + ids?: string[]; + /** @description Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited. */ + videoTypes?: components["schemas"]["VideoType"][]; + /** @description Optional filter by minimum official rating (PG, PG-13, TV-MA, etc). */ + minOfficialRating?: string; + /** @description Optional filter by items that are locked. */ + isLocked?: boolean; + /** @description Optional filter by items that are placeholders. */ + isPlaceHolder?: boolean; + /** @description Optional filter by items that have official ratings. */ + hasOfficialRating?: boolean; + /** @description Whether or not to hide items behind their boxsets. */ + collapseBoxSetItems?: boolean; + /** @description Optional. Filter by the minimum width of the item. */ + minWidth?: number; + /** @description Optional. Filter by the minimum height of the item. */ + minHeight?: number; + /** @description Optional. Filter by the maximum width of the item. */ + maxWidth?: number; + /** @description Optional. Filter by the maximum height of the item. */ + maxHeight?: number; + /** @description Optional filter by items that are 3D, or not. */ + is3D?: boolean; + /** @description Optional filter by Series Status. Allows multiple, comma delimited. */ + seriesStatus?: components["schemas"]["SeriesStatus"][]; + /** @description Optional filter by items whose name is sorted equally or greater than a given input string. */ + nameStartsWithOrGreater?: string; + /** @description Optional filter by items whose name is sorted equally than a given input string. */ + nameStartsWith?: string; + /** @description Optional filter by items whose name is equally or lesser than a given input string. */ + nameLessThan?: string; + /** @description Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. */ + studioIds?: string[]; + /** @description Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. */ + genreIds?: string[]; + /** @description Optional. Enable the total record count. */ + enableTotalRecordCount?: boolean; + /** @description Optional, include image information in output. */ + enableImages?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetTrickplayTileImage: { + parameters: { + query?: { + /** @description The media version id, if using an alternate version. */ + mediaSourceId?: string; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The width of a single tile. */ + width: number; + /** @description The index of the desired tile. */ + index: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Tile image not found at specified index. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "image/*": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetTrickplayHlsPlaylist: { + parameters: { + query?: { + /** @description The media version id, if using an alternate version. */ + mediaSourceId?: string; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The width of a single tile. */ + width: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Tiles playlist returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-mpegURL": string; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetEpisodes: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional filter by season number. */ + season?: number; + /** @description Optional. Filter by season id. */ + seasonId?: string; + /** @description Optional. Filter by items that are missing episodes or not. */ + isMissing?: boolean; + /** @description Optional. Return items that are siblings of a supplied item. */ + adjacentTo?: string; + /** @description Optional. Skip through the list until a given item is found. */ + startItemId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional, include image information in output. */ + enableImages?: boolean; + /** @description Optional, the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. */ + sortBy?: "Default" | "AiredEpisodeOrder" | "Album" | "AlbumArtist" | "Artist" | "DateCreated" | "OfficialRating" | "DatePlayed" | "PremiereDate" | "StartDate" | "SortName" | "Name" | "Random" | "Runtime" | "CommunityRating" | "ProductionYear" | "PlayCount" | "CriticRating" | "IsFolder" | "IsUnplayed" | "IsPlayed" | "SeriesSortName" | "VideoBitRate" | "AirTime" | "Studio" | "IsFavoriteOrLiked" | "DateLastContentAdded" | "SeriesDatePlayed" | "ParentIndexNumber" | "IndexNumber" | "SimilarityScore" | "SearchScore"; + }; + header?: never; + path: { + /** @description The series id. */ + seriesId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetSeasons: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + /** @description Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Filter by special season. */ + isSpecialSeason?: boolean; + /** @description Optional. Filter by items that are missing episodes or not. */ + isMissing?: boolean; + /** @description Optional. Return items that are siblings of a supplied item. */ + adjacentTo?: string; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + }; + header?: never; + path: { + /** @description The series id. */ + seriesId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetNextUp: { + parameters: { + query?: { + /** @description The user id of the user to get the next up episodes for. */ + userId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Filter by series id. */ + seriesId?: string; + /** @description Optional. Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. Starting date of shows to show in Next Up section. */ + nextUpDateCutoff?: string; + /** @description Whether to enable the total records count. Defaults to true. */ + enableTotalRecordCount?: boolean; + /** @description Whether to disable sending the first episode in a series as next up. */ + disableFirstEpisode?: boolean; + /** @description Whether to include resumable episodes in next up results. */ + enableResumable?: boolean; + /** @description Whether to include watched episodes in next up results. */ + enableRewatching?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetUpcomingEpisodes: { + parameters: { + query?: { + /** @description The user id of the user to get the upcoming episodes for. */ + userId?: string; + /** @description Optional. The record index to start at. All items with a lower index will be dropped from the results. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Success */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetUniversalAudioStream: { + parameters: { + query?: { + /** @description Optional. The audio container. */ + container?: string[]; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. The user id. */ + userId?: string; + /** @description Optional. The audio codec to transcode to. */ + audioCodec?: string; + /** @description Optional. The maximum number of audio channels. */ + maxAudioChannels?: number; + /** @description Optional. The number of how many audio channels to transcode to. */ + transcodingAudioChannels?: number; + /** @description Optional. The maximum streaming bitrate. */ + maxStreamingBitrate?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The container to transcode to. */ + transcodingContainer?: string; + /** @description Optional. The transcoding protocol. */ + transcodingProtocol?: "http" | "hls"; + /** @description Optional. The maximum audio sample rate. */ + maxAudioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Whether to enable remote media. */ + enableRemoteMedia?: boolean; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Whether to enable redirection. Defaults to true. */ + enableRedirection?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Audio stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "audio/*": string; + }; + }; + /** @description Redirected to remote audio stream. */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + HeadUniversalAudioStream: { + parameters: { + query?: { + /** @description Optional. The audio container. */ + container?: string[]; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. The user id. */ + userId?: string; + /** @description Optional. The audio codec to transcode to. */ + audioCodec?: string; + /** @description Optional. The maximum number of audio channels. */ + maxAudioChannels?: number; + /** @description Optional. The number of how many audio channels to transcode to. */ + transcodingAudioChannels?: number; + /** @description Optional. The maximum streaming bitrate. */ + maxStreamingBitrate?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The container to transcode to. */ + transcodingContainer?: string; + /** @description Optional. The transcoding protocol. */ + transcodingProtocol?: "http" | "hls"; + /** @description Optional. The maximum audio sample rate. */ + maxAudioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Whether to enable remote media. */ + enableRemoteMedia?: boolean; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Whether to enable redirection. Defaults to true. */ + enableRedirection?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Audio stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "audio/*": string; + }; + }; + /** @description Redirected to remote audio stream. */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Item not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetUsers: { + parameters: { + query?: { + /** @description Optional filter by IsHidden=true or false. */ + isHidden?: boolean; + /** @description Optional filter by IsDisabled=true or false. */ + isDisabled?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Users returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateUser: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The updated user model. */ + requestBody: { + content: { + "application/json": components["schemas"]["UserDto"]; + "text/json": components["schemas"]["UserDto"]; + "application/*+json": components["schemas"]["UserDto"]; + }; + }; + responses: { + /** @description User updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User information was not supplied. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User update forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetUserById: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The user id. */ + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + DeleteUser: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The user id. */ + userId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + UpdateUserPolicy: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The user id. */ + userId: string; + }; + cookie?: never; + }; + /** @description The new user policy. */ + requestBody: { + content: { + "application/json": components["schemas"]["UserPolicy"]; + "text/json": components["schemas"]["UserPolicy"]; + "application/*+json": components["schemas"]["UserPolicy"]; + }; + }; + responses: { + /** @description User policy updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User policy was not supplied. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User policy update forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + AuthenticateUserByName: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The M:Jellyfin.Api.Controllers.UserController.AuthenticateUserByName(Jellyfin.Api.Models.UserDtos.AuthenticateUserByName) request. */ + requestBody: { + content: { + "application/json": components["schemas"]["AuthenticateUserByName"]; + "text/json": components["schemas"]["AuthenticateUserByName"]; + "application/*+json": components["schemas"]["AuthenticateUserByName"]; + }; + }; + responses: { + /** @description User authenticated. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AuthenticationResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["AuthenticationResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["AuthenticationResult"]; + }; + }; + }; + }; + AuthenticateWithQuickConnect: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The Jellyfin.Api.Models.UserDtos.QuickConnectDto request. */ + requestBody: { + content: { + "application/json": components["schemas"]["QuickConnectDto"]; + "text/json": components["schemas"]["QuickConnectDto"]; + "application/*+json": components["schemas"]["QuickConnectDto"]; + }; + }; + responses: { + /** @description User authenticated. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AuthenticationResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["AuthenticationResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["AuthenticationResult"]; + }; + }; + /** @description Missing token. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateUserConfiguration: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The new user configuration. */ + requestBody: { + content: { + "application/json": components["schemas"]["UserConfiguration"]; + "text/json": components["schemas"]["UserConfiguration"]; + "application/*+json": components["schemas"]["UserConfiguration"]; + }; + }; + responses: { + /** @description User configuration updated. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User configuration update forbidden. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + ForgotPassword: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The forgot password request containing the entered username. */ + requestBody: { + content: { + "application/json": components["schemas"]["ForgotPasswordDto"]; + "text/json": components["schemas"]["ForgotPasswordDto"]; + "application/*+json": components["schemas"]["ForgotPasswordDto"]; + }; + }; + responses: { + /** @description Password reset process started. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ForgotPasswordResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ForgotPasswordResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ForgotPasswordResult"]; + }; + }; + }; + }; + ForgotPasswordPin: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The forgot password pin request containing the entered pin. */ + requestBody: { + content: { + "application/json": components["schemas"]["ForgotPasswordPinDto"]; + "text/json": components["schemas"]["ForgotPasswordPinDto"]; + "application/*+json": components["schemas"]["ForgotPasswordPinDto"]; + }; + }; + responses: { + /** @description Pin reset process started. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PinRedeemResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["PinRedeemResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["PinRedeemResult"]; + }; + }; + }; + }; + GetCurrentUser: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserDto"]; + }; + }; + /** @description Token is not owned by a user. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + CreateUserByName: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The create user by name request body. */ + requestBody: { + content: { + "application/json": components["schemas"]["CreateUserByName"]; + "text/json": components["schemas"]["CreateUserByName"]; + "application/*+json": components["schemas"]["CreateUserByName"]; + }; + }; + responses: { + /** @description User created. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateUserPassword: { + parameters: { + query?: { + /** @description The user id. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The M:Jellyfin.Api.Controllers.UserController.UpdateUserPassword(System.Nullable{System.Guid},Jellyfin.Api.Models.UserDtos.UpdateUserPassword) request. */ + requestBody: { + content: { + "application/json": components["schemas"]["UpdateUserPassword"]; + "text/json": components["schemas"]["UpdateUserPassword"]; + "application/*+json": components["schemas"]["UpdateUserPassword"]; + }; + }; + responses: { + /** @description Password successfully reset. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User is not allowed to update the password. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description User not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetPublicUsers: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Public users returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserDto"][]; + }; + }; + }; + }; + GetIntros: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Intros returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLocalTrailers: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description An Microsoft.AspNetCore.Mvc.OkResult containing the item's local trailers. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetSpecialFeatures: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Special features returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetLatestMedia: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Filter by items that are played, or not. */ + isPlayed?: boolean; + /** @description Optional. include image information in output. */ + enableImages?: boolean; + /** @description Optional. the max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description Optional. include user data. */ + enableUserData?: boolean; + /** @description Return item limit. */ + limit?: number; + /** @description Whether or not to group items into a parent container. */ + groupItems?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Latest media returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetRootFolder: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Root folder returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + MarkFavoriteItem: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item marked as favorite. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserItemDataDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UnmarkFavoriteItem: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item unmarked as favorite. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserItemDataDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + UpdateUserItemRating: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + /** @description Whether this M:Jellyfin.Api.Controllers.UserLibraryController.UpdateUserItemRating(System.Nullable{System.Guid},System.Guid,System.Nullable{System.Boolean}) is likes. */ + likes?: boolean; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Item rating updated. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserItemDataDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DeleteUserItemRating: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path: { + /** @description Item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Personal rating removed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["UserItemDataDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["UserItemDataDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetUserViews: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + /** @description Whether or not to include external views such as channels or live tv. */ + includeExternalContent?: boolean; + /** @description Preset views. */ + presetViews?: components["schemas"]["CollectionType"][]; + /** @description Whether or not to include hidden content. */ + includeHidden?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User views returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetGroupingOptions: { + parameters: { + query?: { + /** @description User id. */ + userId?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User view grouping options returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SpecialViewOptionDto"][]; + "application/json; profile=\"CamelCase\"": components["schemas"]["SpecialViewOptionDto"][]; + "application/json; profile=\"PascalCase\"": components["schemas"]["SpecialViewOptionDto"][]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description User not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetAttachment: { + parameters: { + query?: never; + header?: never; + path: { + /** @description Video ID. */ + videoId: string; + /** @description Media Source ID. */ + mediaSourceId: string; + /** @description Attachment Index. */ + index: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Attachment retrieved. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/octet-stream": string; + }; + }; + /** @description Video or attachment not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetAdditionalPart: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Additional parts returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + DeleteAlternateSources: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Alternate sources deleted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Video not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; + GetVideoStream: { + parameters: { + query?: { + /** @description The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. */ + container?: string; + /** @description Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. The maximum horizontal resolution of the encoded video. */ + maxWidth?: number; + /** @description Optional. The maximum vertical resolution of the encoded video. */ + maxHeight?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + }; + }; + }; + }; + HeadVideoStream: { + parameters: { + query?: { + /** @description The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. */ + container?: string; + /** @description Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** + * @deprecated + * @description Optional. The dlna device profile id to utilize. + */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. The maximum horizontal resolution of the encoded video. */ + maxWidth?: number; + /** @description Optional. The maximum vertical resolution of the encoded video. */ + maxHeight?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + }; + }; + }; + }; + GetVideoStreamByContainer: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** @description Optional. The dlna device profile id to utilize. */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. The maximum horizontal resolution of the encoded video. */ + maxWidth?: number; + /** @description Optional. The maximum vertical resolution of the encoded video. */ + maxHeight?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. */ + container: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + }; + }; + }; + }; + HeadVideoStreamByContainer: { + parameters: { + 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. */ + static?: boolean; + /** @description The streaming parameters. */ + params?: string; + /** @description The tag. */ + tag?: string; + /** @description Optional. The dlna device profile id to utilize. */ + deviceProfileId?: string; + /** @description The play session id. */ + playSessionId?: string; + /** @description The segment container. */ + segmentContainer?: string; + /** @description The segment length. */ + segmentLength?: number; + /** @description The minimum number of segments. */ + minSegments?: number; + /** @description The media version id, if playing an alternate version. */ + mediaSourceId?: string; + /** @description The device id of the client requesting. Used to stop encoding processes when needed. */ + deviceId?: string; + /** @description Optional. Specify an audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. */ + audioCodec?: string; + /** @description Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. */ + enableAutoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the video stream url. */ + allowVideoStreamCopy?: boolean; + /** @description Whether or not to allow copying of the audio stream url. */ + allowAudioStreamCopy?: boolean; + /** @description Optional. Whether to break on non key frames. */ + breakOnNonKeyFrames?: boolean; + /** @description Optional. Specify a specific audio sample rate, e.g. 44100. */ + audioSampleRate?: number; + /** @description Optional. The maximum audio bit depth. */ + maxAudioBitDepth?: number; + /** @description Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. */ + audioBitRate?: number; + /** @description Optional. Specify a specific number of audio channels to encode to, e.g. 2. */ + audioChannels?: number; + /** @description Optional. Specify a maximum number of audio channels to encode to, e.g. 2. */ + maxAudioChannels?: number; + /** @description Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. */ + profile?: string; + /** @description Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. */ + level?: string; + /** @description Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + framerate?: number; + /** @description Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. */ + maxFramerate?: number; + /** @description Whether or not to copy timestamps when transcoding with an offset. Defaults to false. */ + copyTimestamps?: boolean; + /** @description Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. */ + startTimeTicks?: number; + /** @description Optional. The fixed horizontal resolution of the encoded video. */ + width?: number; + /** @description Optional. The fixed vertical resolution of the encoded video. */ + height?: number; + /** @description Optional. The maximum horizontal resolution of the encoded video. */ + maxWidth?: number; + /** @description Optional. The maximum vertical resolution of the encoded video. */ + maxHeight?: number; + /** @description Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. */ + videoBitRate?: number; + /** @description Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. */ + subtitleStreamIndex?: number; + /** @description Optional. Specify the subtitle delivery method. */ + subtitleMethod?: "Encode" | "Embed" | "External" | "Hls" | "Drop"; + /** @description Optional. */ + maxRefFrames?: number; + /** @description Optional. The maximum video bit depth. */ + maxVideoBitDepth?: number; + /** @description Optional. Whether to require avc. */ + requireAvc?: boolean; + /** @description Optional. Whether to deinterlace the video. */ + deInterlace?: boolean; + /** @description Optional. Whether to require a non anamorphic stream. */ + requireNonAnamorphic?: boolean; + /** @description Optional. The maximum number of audio channels to transcode. */ + transcodingMaxAudioChannels?: number; + /** @description Optional. The limit of how many cpu cores to use. */ + cpuCoreLimit?: number; + /** @description The live stream id. */ + liveStreamId?: string; + /** @description Optional. Whether to enable the MpegtsM2Ts mode. */ + enableMpegtsM2TsMode?: boolean; + /** @description Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. */ + videoCodec?: string; + /** @description Optional. Specify a subtitle codec to encode to. */ + subtitleCodec?: string; + /** @description Optional. The transcoding reason. */ + transcodeReasons?: string; + /** @description Optional. The index of the audio stream to use. If omitted the first audio stream will be used. */ + audioStreamIndex?: number; + /** @description Optional. The index of the video stream to use. If omitted the first video stream will be used. */ + videoStreamIndex?: number; + /** @description Optional. The MediaBrowser.Model.Dlna.EncodingContext. */ + context?: "Streaming" | "Static"; + /** @description Optional. The streaming options. */ + streamOptions?: { + [key: string]: string | null; + }; + /** @description Optional. Whether to enable Audio Encoding. */ + enableAudioVbrEncoding?: boolean; + }; + header?: never; + path: { + /** @description The item id. */ + itemId: string; + /** @description The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. */ + container: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Video stream returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "video/*": string; + }; + }; + }; + }; + MergeVersions: { + parameters: { + query: { + /** @description Item id list. This allows multiple, comma delimited. */ + ids: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Videos merged. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Supply at least 2 video ids. */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetYears: { + parameters: { + query?: { + /** @description Skips over a given number of items within the results. Use for paging. */ + startIndex?: number; + /** @description Optional. The maximum number of records to return. */ + limit?: number; + /** @description Sort Order - Ascending,Descending. */ + sortOrder?: components["schemas"]["SortOrder"][]; + /** @description Specify this to localize the search to a specific item or folder. Omit to use the root. */ + parentId?: string; + /** @description Optional. Specify additional fields of information to return in the output. */ + fields?: components["schemas"]["ItemFields"][]; + /** @description Optional. If specified, results will be excluded based on item type. This allows multiple, comma delimited. */ + excludeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. If specified, results will be included based on item type. This allows multiple, comma delimited. */ + includeItemTypes?: components["schemas"]["BaseItemKind"][]; + /** @description Optional. Filter by MediaType. Allows multiple, comma delimited. */ + mediaTypes?: components["schemas"]["MediaType"][]; + /** @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. */ + sortBy?: components["schemas"]["ItemSortBy"][]; + /** @description Optional. Include user data. */ + enableUserData?: boolean; + /** @description Optional. The max number of images to return, per image type. */ + imageTypeLimit?: number; + /** @description Optional. The image types to include in the output. */ + enableImageTypes?: components["schemas"]["ImageType"][]; + /** @description User Id. */ + userId?: string; + /** @description Search recursively. */ + recursive?: boolean; + /** @description Optional. Include image information in output. */ + enableImages?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Year query returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDtoQueryResult"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + GetYear: { + parameters: { + query?: { + /** @description Optional. Filter by user id, and attach user data. */ + userId?: string; + }; + header?: never; + path: { + /** @description The year. */ + year: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Year returned. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["BaseItemDto"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["BaseItemDto"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Year not found. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"CamelCase\"": components["schemas"]["ProblemDetails"]; + "application/json; profile=\"PascalCase\"": components["schemas"]["ProblemDetails"]; + }; + }; + }; + }; +} diff --git a/src/features/content/apis/jellyfin.ts b/src/features/content/apis/jellyfin.ts new file mode 100644 index 0000000..67b5da8 --- /dev/null +++ b/src/features/content/apis/jellyfin.ts @@ -0,0 +1,62 @@ +import createClient from "openapi-fetch"; +import type { paths } from "./jellyfin.generated"; // generated by openapi-typescript +import { query } from "@solidjs/router"; +import { Entry } from "../types"; + +const baseUrl = "http://ulmo:8096/"; +const client = createClient({ + baseUrl, + headers: { + Authorization: `MediaBrowser DeviceId="Streamarr", Token="b3c44db1e31f4349b19d1ff0bc487da2"`, + }, +}); + +export const getItem = query(async (userId: string, itemId: string) => { + const { data, error } = await client.GET("/Items/{itemId}", { + params: { + path: { + itemId, + }, + query: { + userId, + hasTmdbInfo: true, + recursive: true, + includeItemTypes: ["Movie", "Series"], + fields: [ + "ProviderIds", + "Genres", + "DateLastMediaAdded", + "DateCreated", + "MediaSources", + ], + }, + }, + }); + + return data?.Items ?? []; +}, "jellyfin.getItem"); + +export const getContinueWatching = query( + async (userId: string): Promise => { + const { data, error } = await client.GET("/Users/{userId}/Items/Resume", { + params: { + path: { + userId, + }, + query: { + mediaTypes: ["Video"], + fields: ["ProviderIds", "Genres"], + }, + }, + }); + + const items = (data?.Items ?? []).map(({ Id, Name }) => ({ + id: Id, + title: Name, + thumbnail: `${baseUrl}Items/${Id}/Images/Primary`, + })); + + return items; + }, + "jellyfin.continueWatching", +); diff --git a/src/features/content/service.ts b/src/features/content/service.ts index 658cb7c..ad2533f 100644 --- a/src/features/content/service.ts +++ b/src/features/content/service.ts @@ -69,3 +69,5 @@ export const getEntry = query( }, "series.get", ); + +export { getContinueWatching } from "./apis/jellyfin"; diff --git a/src/features/shell/top.tsx b/src/features/shell/top.tsx index 9cda202..971b223 100644 --- a/src/features/shell/top.tsx +++ b/src/features/shell/top.tsx @@ -3,6 +3,7 @@ import { signIn, signOut } from "~/auth"; import { hash } from "~/utilities"; import { Avatar, Profile, User } from "../user"; import css from "./top.module.css"; +import { ColorSchemePicker } from "../theme"; interface TopProps { user: User | undefined; @@ -53,7 +54,7 @@ export const Top: Component = (props) => { )} - {/* */} + ); }; diff --git a/src/features/theme/context.ts b/src/features/theme/context.ts index 50dc279..a419644 100644 --- a/src/features/theme/context.ts +++ b/src/features/theme/context.ts @@ -1,80 +1,88 @@ -import { ContextProviderProps, createContextProvider } from "@solid-primitives/context"; +import { + ContextProviderProps, + createContextProvider, +} from "@solid-primitives/context"; import { action, createAsyncStore, query, useAction } from "@solidjs/router"; import { createStore } from "solid-js/store"; import { useSession } from "vinxi/http"; - export enum ColorScheme { - Auto = 'light dark', - Light = 'light', - Dark = 'dark', + Auto = "light dark", + Light = "light", + Dark = "dark", } export interface State { - colorScheme: ColorScheme; - hue: number; + colorScheme: ColorScheme; + hue: number; } const getSession = async () => { - 'use server'; + "use server"; - return useSession({ - password: process.env.SESSION_SECRET!, - }); + return useSession({ + password: process.env.SESSION_SECRET!, + }); }; export const getState = query(async () => { - 'use server'; + "use server"; - const session = await getSession(); + const session = await getSession(); - if (Object.getOwnPropertyNames(session.data).length === 0) { - await session.update({ - colorScheme: ColorScheme.Auto, - hue: 0, - }) - } + if (Object.getOwnPropertyNames(session.data).length === 0) { + await session.update({ + colorScheme: ColorScheme.Auto, + hue: 0, + }); + } - return session.data; -}, 'color-scheme'); + return session.data; +}, "color-scheme"); const setState = action(async (state: State) => { - 'use server'; + "use server"; - const session = await getSession(); - await session.update(prev => ({ ...prev, ...state })); -}, 'color-scheme'); + const session = await getSession(); + await session.update((prev) => ({ ...prev, ...state })); +}, "color-scheme"); interface ThemeContextType { - readonly theme: State; - setColorScheme(colorScheme: ColorScheme): void; - setHue(colorScheme: number): void; + readonly theme: State; + setColorScheme(colorScheme: ColorScheme): void; + setHue(colorScheme: number): void; } -const [ThemeContextProvider, useTheme] = createContextProvider((props) => { +const [ThemeContextProvider, useTheme] = createContextProvider< + ThemeContextType, + ContextProviderProps +>( + (props) => { const updateState = useAction(setState); const state = createAsyncStore(() => getState()); return { - get theme() { - return state.latest ?? { colorScheme: null }; - }, + get theme() { + return state.latest ?? { colorScheme: null }; + }, - setColorScheme(colorScheme) { - updateState({ colorScheme, hue: state.latest!.hue }); - }, - setHue(hue) { - updateState({ hue, colorScheme: state.latest!.colorScheme }); - }, + setColorScheme(colorScheme) { + // updateState({ colorScheme, hue: state.latest!.hue }); + }, + setHue(hue) { + // updateState({ hue, colorScheme: state.latest!.colorScheme }); + }, }; -}, { + }, + { theme: { - colorScheme: ColorScheme.Auto, - hue: 180, + colorScheme: ColorScheme.Auto, + hue: 180, }, - setColorScheme(colorScheme) { }, - setHue(hue) { }, -}); + setColorScheme(colorScheme) {}, + setHue(hue) {}, + }, +); -export { ThemeContextProvider, useTheme }; \ No newline at end of file +export { ThemeContextProvider, useTheme }; diff --git a/src/features/user/user.ts b/src/features/user/user.ts index daf7dd5..ca822f5 100644 --- a/src/features/user/user.ts +++ b/src/features/user/user.ts @@ -1,4 +1,5 @@ export interface User { + username: string; name: string; email: string; image: string | null; diff --git a/src/routes/(shell).tsx b/src/routes/(shell).tsx index c687021..a6240a3 100644 --- a/src/routes/(shell).tsx +++ b/src/routes/(shell).tsx @@ -18,9 +18,15 @@ const load = query(async (): Promise => { return undefined; } - const { name, email, image = null } = session.user; + const { + preferred_username, + name, + email, + image = null, + ...user + } = session.user; - return { name, email, image }; + return { username: preferred_username, name, email, image }; }, "session"); export const route = { diff --git a/src/routes/(shell)/index.tsx b/src/routes/(shell)/index.tsx index 5ba4b12..1db28a4 100644 --- a/src/routes/(shell)/index.tsx +++ b/src/routes/(shell)/index.tsx @@ -1,34 +1,40 @@ import { Title } from "@solidjs/meta"; -import { createAsync, query } from "@solidjs/router"; +import { createAsync } from "@solidjs/router"; import { Overview } from "~/features/overview"; -import { listCategories, getEntry } from "~/features/content"; -import { createEffect, Show } from "solid-js"; - -const load = query(async () => { - "use server"; - - // const response = -}, "home.data"); +import { + listCategories, + getEntry, + getContinueWatching, +} from "~/features/content"; +import { Show } from "solid-js"; +import { List } from "~/components/list"; +import { ListItem } from "~/features/overview/list-item"; export const route = { preload: async () => ({ highlight: await getEntry("14"), categories: await listCategories(), + continue: await getContinueWatching("a9c51af84bf54578a99ab4dd0ebf0763"), }), }; export default function Home() { const highlight = createAsync(() => getEntry("14")); const categories = createAsync(() => listCategories()); - - createEffect(() => { - console.log(highlight(), categories()); - }); + const continueWatching = createAsync(() => + getContinueWatching("a9c51af84bf54578a99ab4dd0ebf0763"), + ); return ( <> Home + + + {(item) => } + + +